配置环境
首先使用的自动化测试工具是Appium,需要Node.js的开发环境,使用的开发语言是Python。我做的是Android测试,自然还需要Android的环境,JDK、Android SDK,需要配置环境变量,如何配置请自行百度。可以通过appium-doctor检测是否配置正确,npm命令安装npm install -g appium-doctor,接着执行appium-doctor,appium也可以使用npm install -g appium进行安装。
了解Appium
启动appium桌面版服务
桌面版操作很简单,启动应用程序后,输入host ip点击
start server xxx,如图:
配置变量
配置如下变量
1
2
3
4
5
6
7
8
9'platformName': 'Android'
'platformVersion': '5.1' # 填写android虚拟机的系统版本 '5.1'
'deviceName': '21.237.211.97' # 填写安卓虚拟机的设备名称'emulator-5554'
'appPackage': 'com.wasu.test.ott' # 填写被测试包名 'com.wasu.test.ott'
"autoLaunch": False #不自动重启launch
'appActivity': 'com.wasu.plugin.home.ui.HomeMainActivity' # 填写被测试app入口'com.wasu.plugin.home.ui.HomeMainActivity'
'unicodeKeyboard': True
'resetKeyboard': True
"automationName": "UiAutomator2" #"UiAutomator2" 4.4.2版本的用"UiAutomator1"操作appium桌面版界面
随后通过
start session启动,如图
操作appium
可获取视图中View的
id、xpath等各种属性
Appium脚本
启动AppiumService
获取webdriver
API举例说明
根据id获取View
find_element_by_id通过xpath获取View
find_elements_by_xpath获取当前页面的源
page_source
lxml解析page_source的xml树
例如:
1
2
3
4
5
6
7
8
9
10
11# 找到视图页面
pageSource = self.driver.page_source
n = pageSource.find("\n")+1
pageXml = pageSource[n:]
# 转xml tree
mytree = lxml.etree.XML(pageXml)
result = mytree.xpath('//*[contains(@text,"错误代码")]')
for a in result:
tree = lxml.etree.ElementTree(a)
xpath = tree.getpath(a)
view = self.driver1.find_element_by_xpath(xpath)打包脚本为exe
安装插件
pip install PyInstaller使用
pyinstaller -F Tools.py-i xx.ico增加图标
导出依赖
导出 pip freeze >requirements.txt
安装依赖
安装 pip install -r requirements.txt