appium自动化测试之H5页面测试

597 篇文章 17 订阅
24 篇文章 2 订阅
本文介绍了在进行Appium自动化测试时遇到的Chrome版本与Chromedriver不匹配的问题,详细阐述了错误原因、解决步骤和不同设备上的差异。通过调整Chromedriver版本,确保与手机端Chrome版本一致,成功解决了自动化测试中的错误。
摘要由CSDN通过智能技术生成

测试环境准备

1.PC端安装chrome,手机端安装谷歌浏览器(部分品牌应用商店可能会没有,可以安装应用宝,再到应用宝上安装google浏览器,或者PC端应用宝内下载。不太清楚这个有什么用途,我不按安装也是可以运行的。)

2.打开webview调试模式

3.浏览器输入 chrome://inspect/devices#devices,可以看到当前webview页面,如果获取不到可以刷新下,或者调试模式未打开
在这里插入图片描述
在这里插入图片描述代码准备

desired_caps_a = {'platformName': "Android",
                      'platFormVersion': "10",
                      'deviceName': "dd",
                      'udid': "648d4f29",
                      # 'automationName': "UiAutomator1",
                      'noReset': True,
                      'unicodeKeyboard': True,
                      'resetKeyboard': True,
                      'appPackage': "com.tencent.mm",
                      'appActivity': "com.tencent.mm.ui.LauncherUI",
                      'chromedriverExecutable': r"C:\Users\v_yddchen\Desktop\chromedriver_win32 77.0\chromedriver.exe",
                      'chromeOptions': {'androidProcess': "com.tencent.mm:toolsmp"}  # webview的进程名字,不然会报错
# 测试获取H5元素
    my_logging.debug(device_a.contexts)
    device_a.find_element_by_android_uiautomator('new UiSelector().text("Cc")').click()
    device_a.find_element_by_android_uiautomator('new UiSelector().textContains("警惕")').click()
    WebDriverWait(device_a, 20).until(lambda x: x.find_element_by_android_uiautomator('new UiSelector().text("腾讯新闻")'))
    my_logging.debug(device_a.contexts)
    device_a.switch_to.context("WEBVIEW_com.tencent.mm:toolsmp")
    time.sleep(3)
    my_logging.debug(device_a.current_context)

错误

运行上述代码报错了

unknown error: Failed to get PID for the following process: com.tencent.mm
在这里插入图片描述
解决方法:

1.有说是appiumd的chromedriver版本不对,虽然不太认同,但是我尝试了一下

设备:oppo reno android 9 webdriver 70.0.3538.110

PC端chrome版本81.0.4044.117 手机端chrome同样版本 81.0.4044.117

appium webview的版本78.0.3904.62

…\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win的路径下,更换chromedriver的版本,或者初始化时

chromedriverExecutable指定chromedriver的路径
更换chromedriver版本 81、78、70都是一样的报错(有点怀疑源码有啥问题,github上搜到了一些蛛丝马迹,等我再翻翻)。

2.更换了一台设备 oppo findx2 Android 10 webview 74.0.3729.186

以上代码运行成功。

奇怪的是,不同手机输出的contexts是不同的。

oppo reno android 9 webdriver 70.0.3538.110

在这里插入图片描述
oppo findx2 Android 10 webview 74.0.3729.186
在这里插入图片描述
3.确定appium的chromedriver版本的决定性因素

oppo findx2 Android 10 webview 74.0.3729.186
在这里插入图片描述
更换appium chromedriver的版本为73,低于系统webdriver和app的webview版本,运行提示出错
在这里插入图片描述
如果chromedriver的版本为77,运行成功。

设置为81或者78,运行失败。明确报错chrome version问题是很好解决的。
在这里插入图片描述
看完点赞 ~养成好习惯,以上内容希望对你有帮助,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值