手机APP测试环境搭建---appium

匿名 (未验证) 提交于 2019-12-03 00:43:02

1.ADB的安装:ADB(ANDROID DEBUG BRIDGE)

应用场景:

针对移动端 Android 的测试, adb 命令是很重要的一个点,常用的 adb 命令, 将会为 Android 测试带来很大的方便,其
中很多命令将会用于自动化测试的脚本当中
环境搭建:
解压:将解压后的路径放置path环境变量
命令?输?:
adb devices:查看已连接的设备 adb shell wm size
adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
adb shell pm list package:列出所有的应用的包名
-s:列出系统应用
-3:列出第三方应用
-f:列出应用包名及其安装来源

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    #Windows
3.配置JAVA_HOME :就是JDK路径
ANDROID_HOME:安卓sdk路径
输入:appium-doctor
All 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

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/uiautomatorviewer
id:
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‘)

原文:https://www.cnblogs.com/nieliangcai/p/9352944.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!