Appium 自动化测试环境搭建
大纲
- 从源代码构建和安装,也可以直接从NPM安装
Appium Clients
有一些客户端程序库(分别在 Java、Ruby、Python、PHP、JavaScript 和 C# 中实现),它们支持 Appium 对 WebDriver 协议的扩展。
Appium Desktop
Appium Desktop是一款适用于Mac,Windows和Linux的应用程序,它以美观而灵活的UI提供了Appium自动化服务器的强大功能。它基本上是Appium服务器的图形界面。您可以设置选项,启动/停止服务器,查看日志等...您也不需要使用Node/ NPM来安装Appium,因为Node运行时与Appium Desktop捆绑在一起
注意:Appium Desktop与Appium不是一回事。Appium Desktop是Appium的图形前端,带有其他工具。
Android SDK 安装步骤
-
https://github.com/appium/appium-desktop/releases ] 下载成功后点击安装,根据程序提示一致下一步安装即可。
启动Appium服务器
1、打开Appium Desktop
打开Appium Desktop时,看到服务器启动窗口。基本选项是启动具有所有默认值的Appium服务器以及修改主机和端口的功能。start 按钮知道正在运行的是哪个版本的Appium服务器。
2、启动服务器
点击Start启动服务器,它将在指定的主机和端口上启动,并打开一个显示服务器日志输出的新窗口
运行测试
使用 Appium 运行测试应用(测试设备:Android )
1、adb检查是否连接设备
首先,必须确保adb连接了一个且只有一个Android模拟器或设备。检查是否连接设备运行:adb devices
2、启动Appium并配置选项
1、Appium启动成功后,Appium右上角有三个选项分别为:Start inspector session 启动检查器会话、Get Raw Logs 获得原生日志、Stop Server 停止服务
2、点击Start inspector session启动检查器,选择 Automatic Server(自动化服务),填写 Desired Capabilities
Desired Capabilities是在 JSON 对象中编码的键和值,在请求新的自动化会话时由 Appium 客户端发送到服务器,每个Appium客户端都以特定于客户端语言的方式构建功能,但最终,它们会作为JSON对象发送给Appium。
(1)deviceName : 设备名称 ,获取方式:通过adb devices获取 127.0.0.1:62001
(2)platformName : 操作系统名称 可填写:Android和IOS
(3)appPackage : 测试APP的包名 获取方式 可输入:adb shell pm list packages -3 查看包名,测试包名:com.youdao.calculator
(4)appActivity : activity程序主入口 com.youdao.calculator.activities.MainActivity
获取方式:adb logcat | findstr START 输入该命令,同时点击要启动的app,即可获取到包名和activity
注意:Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加 . (例如 使用 .MainActivity 代替 MainActivity)
配置成功后右侧显示对应的JSON对象。
3、点击 Start Session 启动会话
显示测试APP的界面,可以定位元素
4、编写测试脚本
确保已经安装Appium Client ,编写测试代码
""" @Time : 2022/7/22 17:03 @Author :LH @desc : 测试自动启动APP """ from appium import webdriver # import time desired_caps = { } desired_caps['deviceName'] = '127.0.0.1:62001' # 测试设备名称 desired_caps['platformName'] = 'Android' # 测试系统 desired_caps['plaformVersion'] = '7.1.2' # 版本号 desired_caps['appPackage'] = 'com.youdao.calculator' # app 包名 desired_caps['appActivity'] = '.activities.MainActivity' # App最先启动的Activity # 打开APP,返回webdriver对象 # 连接APP server (需要先启动appium server) driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) print("启动成功")运行成功后,模拟器中自动启动测试的APP
Appium Service 中显示运行的日志
环境搭建完成,测试成功,可以进行自动化测试。
-