这些都不是重点---一切都可以参考虫师
1.ADB的安装:ADB(ANDROID DEBUG BRIDGE)
应用场景:
针对移动端 Android 的测试, adb 命令是很重要的一个点,常用的 adb 命令, 将会为 Android 测试带来很大的方便,其
中很多命令将会用于自动化测试的脚本当中环境搭建:解压:platform-tools_r28.0.0-windows.zip(adb)和sdk-tools-windows-4333796.zip (tools-UIAutomator)将解压后的路径放置path环境变量命令⾏输⼊:adb devices:查看已连接的设备 adb shell wm sizeadb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用adb shell pm list package:列出所有的应用的包名-s:列出系统应用-3:列出第三方应用-f:列出应用包名及其安装来源打开应用查看包名和activity名称:adb shell dumpsys activity top | head -n 10 mac使用命令2.移动端自动化测试:APPIUM
环境搭建:1.安装node.js node-v6..zip 将解压后的件添加至path环境变量2.安装appium。 将 C:\Program Files (x86)\Appium\node_modules\.bin添加至环境变量或者 :npm install -g appium 淘宝源镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org #Windows3.配置JAVA_HOME :就是JDK路径ANDROID_HOME:安卓sdk路径输入:appium-doctorAll Checks were successful ,说明环境成功
DESIRED CAPABILITIES
Desired Capabilities在启动session的时候是必须提供的。本质上是key value的对象,它告诉appium server这样一些事情:1. ▪ 本次测试是启动浏览器还是启动移动设备?2. ▪ 是启动andorid还是启动ios?3. ▪ 启动android时,app的package是什么?4. ▪ 启动android时,app的activity是什么?C:\Users\ASUS-PC>adb shell
jason:/ $ dumpsys activity | grep mFocusedActivity #Windows查看package和activity----当然还有很多其他方法(百度)
1.导入appium:from appium import webdriver
定义一个字典:desired_cap={ 'platformName': 'Android','deviceName': ‘8BN0218309004925','appPackage': 'com.ximalaya.ting.android','appActivity': '.host.activity.MainActivity','noReset': 'true', #密码相关,(微信为例)注释掉该段代码,需要输入登录密码,反正不需要登录'unicodeKeyboard': 'True','resetKeyboard': 'True',}然后实例化对象:driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_cap)webdriver.Remote实际上就是原⽣webdriver的子类,第⼀个参数中需要显⽰指定appium server监听的端口
APPIUM定位元素:UIAUTOMATORVIEWER
1. 连接真机或模拟器2.打开/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewer元素定位选择器:第⼀是ID,第⼆是class,如果class没有重复第三是by uiautomator第四,可能就是xpath
APPIUM定位元素:UIAUTOMATORVIEWER
1. 连接真机或模拟器2.打开/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewerid:driver.find_element_by_accessibility_id(‘Animation’)加个s返回list:driver.find_elements_by_accessibility_id(‘Animation’)description:driver.find_element_by_android_uiautomator('new UiSelector().description(“Animation")')Xpath:://android.widget.TextView[@text=‘经典必听’]Tag_name:driver.find_element_by_tag_name('button')