栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

关于appium+Python做APP界面自动化踩的雷

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于appium+Python做APP界面自动化踩的雷

关于appium+Python做APP界面自动化踩的雷

前提:
appium已安装
appium - Python-Client已经安装
Python+pycharm已经安装
没有安装好的,或者安装有挫折的可以参考:
https://blog.csdn.net/weixin_56039103/article/details/116455098?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165603700916782248525342%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165603700916782248525342&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-2-116455098-null-null.142v21control,157v15new_3&utm_term=appium&spm=1018.2226.3001.4187
————————————————————————————
上面都安装完后,到了写代码,连接设备(手机),开启appium准备运行代码试一试的时候,发现运行结果报错

基本上第一次运行的时候差不多都是这段代码,大同小异

 
# 导入webdriver
import time
from appium import webdriver
# 初始化参数
desired_caps = {
    'platformName': 'Android',  # 被测手机是安卓
    'platformVersion': '1',  # 手机安卓版本
    'deviceName': 'xxxxx',  # 设备名,adb devices 查询显示的设备名称  
    'appPackage': 'tv.danmaku.bili',  # 启动APP Package名称
    'appActivity': 'tv.danmaku.bili.MainActivityV2',  # 启动Activity名称
    # 'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True
    # 'resetKeyboard': True,  # 执行完程序恢复原来输入法
    'noReset': True,  
}
# 连接Appium Server
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep(3)  #停留时长
driver.quit()

然后运行完就是不行,appium最后显示结果

// appium 报错显示
UiAutomator exited unexpectedly with code 0, signal null
 Moving to state 'stopped'

当appium出现这个鬼样子,基本运行不出来了

经过我在网上找了三天三夜,终于在有位大神回答里面扒出来正解,大神指出,一般是在android版本>=6的需要这段代码

参考:https://blog.csdn.net/MincingMachine/article/details/123516581

这个时候在你的代码:desired_caps里面加上下面这段

"automationName":"UiAutomator2" //把这段放入到desired_caps里面再次运行基本OK

————————————————————————————————————

还有报错的话,就需要注意以下的事项

 'platformName': 'Android',  设备是啥就填啥,别不改
 'platformVersion': '11',  # 连接的手机,看一下android版本号是多少,对着修改
 'deviceName': 'xxxxx',  # 设备名,adb devices 查询显示的设备名称  
 'appPackage': 'tv.danmaku.bili',  # 启动APP Package名称,这里拿b站举栗
 'appActivity': 'tv.danmaku.bili.MainActivityV2',  # 启动Activity名称 

另外不知道appActivity这个怎么获取的可以在cmd里面输入下面的命令

adb shell dumpsys window | findstr mCurrentFocus

另外,使用这个命令前,一定要打开你想要获取的APP进入
运行结果:

参考:https://blog.csdn.net/weixin_56039103/article/details/116455098?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165603700916782248525342%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165603700916782248525342&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-2-116455098-null-null.142v21control,157v15new_3&utm_term=appium&spm=1018.2226.3001.4187
————————————————————————————————————

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989621.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号