概述
问题
用appium+python在线调试安卓测试的时候总是需要从屏幕找元素,然后一一find,这总是需要花时间的,但是没等自己点好复制好,session直接断了,断之后就找不到元素了,很烦。
怎么人家可以?
但是如果是appium的图像界面,他就不会这么快断开,下面就是他的图形化界面。
所以他一定是有个参数的,我要找找这个参数在哪。
网上找了点文档,没找到。只能自己找了。
查控制台log
于是看appium的log找到了,从控制台这里找了log。
找到了这个
[BaseDriver] Shutting down because we waited 60 seconds for a command
[Appium] Closing session, cause was 'New Command Timeout of 60 seconds expired. Try customizing the timeout using the 'newCommandTimeout' desired capability'
哦那就明白了。所以想要长时间保持和安卓机的session不断开,设置下desired_caps中的newCommandTimeout,设置长一点就好了。
修改自己的desired-cap,加入参数
from appium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.wait import WebDriverWait
import time
from collections import OrderedDict
desired_caps = {
"platformName": "Android",
"platformVersion": "9.0.0",
"deviceName": "PAR_AL00",
"appPackage": 'com.eg.android.AlipayGphone',
"appActivity": 'com.eg.android.AlipayGphone.AlipayLogin',
"resetKeyboard": True,
"automationName": "UIAutomator2",
# make session waits for next command much longer, default 60 seconds.
"newCommandTimeout":10000,
"noReset": True,
# disable phone keyboard and send chars in unicode
"unicodeKeyboard":True,
"resetKeyboard":True,
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
就可以了!
2020.08.21更新
昨天使用了newcommand timeout,设置了3600,但是还是在几分钟之内断了连接,我怀疑是有什么bug出现。人家文档中都写明了这个参数。
最后
以上就是难过发箍为你收集整理的使用appium python在线调试session不断开真机的全部内容,希望文章能够帮你解决使用appium python在线调试session不断开真机所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复