Appium appium driver 使用 pickle 持久化,免除你每次都要重新启动应用的烦恼

!Destiny · 2016年12月19日 · 最后由 !Destiny 回复于 2016年12月22日 · 1679 次阅读

内容很简单就是使用 pickle 木块,将 appium 的 dirver 进行持久化,保存到文件,然后在另一个程序中将文件加载为 driver

dr1.py
driver =webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动 app

f1 = open("x.txt","wb")

pickle.dump(driver,f1,0)

f1.close()

driver 前边的配置我就不多说了,这个程序主要就是把 driver 进行持久化,保存到文件中

dr2.py
f1 = open("x.txt","rb")

driver = pickle.load(f1)

f1.close()

# 点击 “我的账户” 进行登录

time.sleep(1)

element = WebDriverWait(driver, 30, 0.5).until(EC.presence_of_element_located((By.NAME, '以后再说')))

element.click()

element = WebDriverWait(driver, 30, 0.5).until(EC.presence_of_element_located((By.NAME, '卡支付')))

element.click()
#

element = WebDriverWait(driver, 30, 0.5).until(EC.presence_of_element_located((By.NAME, '我要办卡')))

element.click()

这个程序主要就是把持久化过的 driver 读取出来

共收到 3 条回复 时间 点赞

不错不错,这也是种思路

—— 来自 TesterHome 官方 安卓客户端

思路不错. 不过你持久化用处不大. 因为 appium 那边检测到一分钟没有新命令就自动退出了. 你把 driver 恢复出来也没用 因为 appium 销毁 session 后. 就没法正常的执行命令了. 还是得重新连接.

#2 楼 @seveniruby 持久化主要目的并不是真正的保存 driver,当有一个调度平台,来调度你的案例脚本,每次脚本启动前奏大概需要 10 秒以上,如果能持久化,你需要的时间可能 2~3 秒就能跑起来

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册