观书散遗帙,探古穷至妙。这篇文章主要讲述Appium之实操(了解配置项)相关的知识,希望能为你提供帮助。
使用Appium,测试对象APP的运行环境有两种:① 真实设备 如手机
②模拟器 如夜神
连接真实设备:
- 进入开发者模式,启动usb调试
- 在电脑上 执行adb命令
adb devices -l
注意: 这个adb在sdkplatform-tools
请确保路径在path环境变量中;如果不能识别,请安装对应手机的usb驱动。
连接模拟器:
- 电脑上下载安装好一个模拟器,仍然是进入设置,调整为开发模式;
- cmd
---利用adb命令
adb
devices 执行查看是否连接上
注意:有时候会出现adb连接不上模拟器的问题,是因为两个不同adb版本的差异,导致版本不匹配。
解决办法是:cmd ----
直接输入adb connect 127.0.0.1:62001
-----------------------------------------------------------------------------------------------------------------------------------------------------------
下面看实际例子:
import time,traceback
from appium import webdriver
desired_caps = {
‘platformName‘: ‘android‘,
#
测试平台
‘platformVersion‘: ‘4.4.2‘,
#
平台版本
‘deviceName‘: ‘xxx‘,
#
设备名
可自定义
#
‘app‘: r‘d:apktoutiao.apk‘,
#
如果设备上未安装apk,可直接填写所测apk的包名路径
‘appPackage‘: ‘io.manong.developerdaily‘,
#
app启动的包文件名
‘appActivity‘: ‘io.toutiao.android.ui.activity.LaunchActivity‘,
#
app启动的入口文件名
‘unicodeKeyboard‘: True,
#
使用appium的输入法,支持中文并隐藏键盘
‘resetKeyboard‘: True,
#
重置键盘输入法
即自动化后,会还原成原来的输入法
‘noReset‘: True,
#
清除session信息,并且不会删除应用。
为了不保存修改的数据和app设置的内容而不影响下次使用
‘newCommandTimeout‘: 6000
#
设置driver超时时间
appium server(服务端)监听客户端,认为没有连接通信了,就会超时断掉
}
#
启动Remote RPC
driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps
)
driver.implicity_wait(10)
try:
#
根据ID定位元素 用uiautomatorviewer工具
driver.find_element_by_id(‘tab_bar_plus‘).click()
time.sleep(1)
driver.find_element_by_id(‘btn_email‘).click()
time.sleep(1)
#
输入用户名、密码
ele1 = driver.find_element_by_id(‘edt_email‘)
ele1.send_keys(‘xxxx‘)
ele2 = driver.find_element_by_id(‘edt_password‘)
ele2.send_keys(‘xxxx‘)
time.sleep(2)
#
点击登录
driver.find_element_by_id(‘btn_login‘).click()
except:
print(traceback.format_exc())
input(‘*****Press to quit..*****‘)
driver.quit()
----------------------------------------------------------------------------------------------------------------------------------------------------------
在部分Android机型进行每次运行最新版的appium-desktop都需要安装AppiumSettings以及Unlock,并且安装过程中需要用户手动来确认,即使测试机上已经安装了这两个组件,
运行appium也会要求安装,对于测试以及脚本的调试来说非常不便。
解决办法:
j进入appium的安装目录 如:C:UserAdministratorAppDataLocalProgramsAppium
esourcesapp
ode_modulesappium-android-driverlib
找到android-helpers.js文件进入将:
//await
adb.install(unicodeIMEPath,false);
//await
gelpers.pushSettinggsApp(adb);
//await
helpers.pushUnlock(adb);
统统注释掉。
【Appium之实操(了解配置项)】
继续将:
//return_regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path,false))注释掉,并且在该行下方加上一行
return context$1$0.abrupt(‘return‘,defaultIME);
继续修改以下两行改法同上面这个一样:
//return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));
这句注释掉
return context$1$0.abrupt(‘return‘,defaultIME);
新增这句
//return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));
这句注释掉
return context$1$0.abrupt(‘return‘,defaultIME);
新增这句
最后保存退出。重启appium即可。
推荐阅读
- react实战—creat-react-app
- spark-3.0 application 调度算法解析
- Python集合模块(collections用法示例)
- Python变量使用详解
- Python while循环语句用法
- Python教程介绍
- Python元组介绍及其操作函数详解
- Python字符串用法及其操作函数
- Python pass语句用法示例