官网下载即可 python官网下载地址 务必记住安装目录,如果忘记在哪里安装的,可以在开始菜单中找到Python的文件夹,右键打开文件位置即可
进入到Python安装目录,找到名为Scripts的文件夹,进入文件夹,空白处shift+右键 选择“从此处打开命令窗口” ,输入:
pip install Appium-Python-Client回车,等待安装完成即可
官网下载安装即可,JDK8官方下载地址
这里选择安装Android Studio 自带SDK免折腾 ,Android Studio官方下载地址
需要自带的模拟器可以进行勾选,之后我们会安装其他模拟器,可以不勾选 选择需要安装到的盘符,默认为C盘,这里改到了D盘 之后一直下一步安装即可
SDK的安装,可能是我安过的原因没进入定制页面,所以这里从设置进入后,选择的Android SDK-点击Edit-进入编辑页面 如果没安装默认勾选,然后Next等待安装完即可
记住SDK目录地址,之后会用到
Appium下载地址. 直接安装即可
安装完成后打开appium,host和port默认即可,点击编辑按钮
填写好对应地址后,save and Restart ,
点击 启动服务器
这里选用夜神模拟器,夜神模拟器下载地址 下载安装即可
(1)打开模拟器的安装目录,进入到bin目录 (2)把第三节里安装好的Android SDK里的adb.exe文件,复制到该目录覆盖掉该目录已存在的adb.exe文件 (3)删掉该目录的nox_adb.exe文件,再复制一份adb.exe并重命名为nox_adb.exe (4)启动模拟器 (5)在当前目录shift+右键,打开控制台,执行nox_adb.exe connect 127.0.0.1:62001,然后执行adb devices,提示以下信息证明操作成功 这里需要注意每次重启模拟器都需执行本步骤 (6)装入测试用的apk
(7)继续在刚刚的控制台窗口里输入aapt dump badging apk的绝对路径(例如:C:\Users\Administrator\Desktop\20200628\XXXXXXXXX.apk),
记录下以下两个名称,与脚本中的 appPackage,appActivity 相对应
详细的元素定位教程很多,这里就不再进行细写
在模拟器中打开需要定位元素的APP
在Android SDK目录下找到tools文件夹,进入后打开名为 uiautomatorviewer.bat的文件, 点击上方第二个图标获取屏幕元素
接下来只要选中需要操作的页面元素,右侧就会展示出你所需要的元素定位数据,需要注意的是切换页面的话需要重复之前的操作 再次对页面进行获取
1.创建测试用例目录testcase,在该目录下创建test_app.py文件
import time import unittest from appium import webdriver class MyTests(unittest.TestCase): # 测试开始前执行的方法 def setUp(self): desired_caps = {'platformName': 'Android', # 平台名称 'platformVersion': '5.1.1', # 系统版本号 'deviceName': '127.0.0.1:62001', # 设备名称。如果是真机,在'设置->关于手机->设备名称'里查看 'appPackage': 'com.kuaichengwuliu.driver', # 之前记录下的 apk的包名 'appActivity': 'com.kuaichengwuliu.driver.guide.GuideActivity', # 之前记录下的 activity 名称 "automationName": "UiAutomator1" # 这个很重要很重要Android 5是比较老的版本,使用的是 UIAutomator1,新安卓系统使用 UIAutomator2,可能新版本的 appium 默认使用了 2 吧。所以新版本的 appium 在使用时候在开启 inspector 的时候要多传一个参数automationName=UiAutomator1这样最终就可以正常开启! } self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) # 连接Appium self.driver.implicitly_wait(8) def test_calculator(self): time.sleep(5) self.driver.find_element_by_id("com.kuaichengwuliu.driver:id/function_btn").click() # 老板们自由发挥了 time.sleep(5) # 测试结束后执行的方法 def tearDown(self): self.driver.quit()2.创建run.py文件
import os import time import unittest from HTMLTestRunner import HTMLTestRunner test_dir = './testcase' discover = unittest.defaultTestLoader.discover(start_dir='./testcase', pattern="test*.py") if __name__ == "__main__": report_dir = './test_report' os.makedirs(report_dir, exist_ok=True) now = time.strftime("%Y-%m-%d %H-%M-%S") report_name = '{0}/{1}.html'.format(report_dir, now) with open(report_name, 'wb')as f: runner = HTMLTestRunner(stream=f, title="测试报告", description="简单的一次测试") runner.run(discover)3.生成测试报告,并打开
需要报告模板或其他资料的可以加QQ交流群:72598961 (个人交流群非培训群)