我是靠谱客的博主 难过发箍,最近开发中收集的这篇文章主要介绍使用appium python在线调试session不断开真机,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题

用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不断开真机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部