配置环境
首先使用的自动化测试工具是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,如图:
-
配置变量
配置如下变量
'platformName': 'Android' 'platformVersion': '5.1' # 填写android虚拟机的系统版本 '5.1' 'deviceName': '0.0.0.0' # 填写安卓虚拟机的设备名称'emulator-5554' 'appPackage': 'com.test.ott' # 填写被测试包名 'com.test.ott' "autoLaunch": False #不自动重启launch 'appActivity': 'com.plugin.home.ui.HomeMainActivity' # 填写被测试app入口'com.wasuAppium自动化测试.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树
例如:
# 找到视图页面 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