目录
1、插上手机,打开usb调试,选中文件传输,我这里用华为手机为例
[2、启动Appium Server GUI编辑](#2、启动Appium Server GUI编辑)
[3、启动 Inspector Session](#3、启动 Inspector Session)
使用Python和Appium进行自动化测试是一种常见的移动应用测试方法。Appium是一个开源工具,它允许你使用各种编程语言(如Python、Java、JavaScript等)来编写测试脚本,以自动化测试iOS和Android应用。
一、工具与环境准备
1、 Appium-Inspector-2024.8.2-win-x6
2、Appium Server GUI v1.5.1以上
3、脚本语言:Python3.x 、nodejs
4、IDE:安装Pycharm
5、安装Java JDK 、Android SDK、win10环境
6、使用pip安装Appium的Python客户端库:pip install Appium-Python-Client
二、开始测试
1、插上手机,打开usb调试,选中文件传输,我这里用华为手机为例
如需测试设备是否连接成功,可打开win系统cmd命令窗口,执行。
adb devices
出现如下所示则代表手机设备连接成功

2、启动Appium Server GUI
启动成功

3、启动Inspector Session

现对配置字段进行解释:
platformName :代表的系统是ios还是Android
platformVersion : Android内核版本号
可通过cmd命令下执行adb shell getprop ro.build.version.release查看例如

deviceName :连接的设备名称,通过命令adb devices -l中model查看

appPackage :apk的包名
appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr "mResume"查看(需先打开手机应用)另外(注意:Android 8.1之前应使用adb shell dumpsys activity | findstr "mFocus")
4、录制脚本
启动连接

按下面步骤点击录制脚本
Selected Element 区域有三个按钮
- Tap:执行选中元素的点击事件
- Send Keys:为文本框等对象传值
- 如果是文本输入元素,就清除文本

然后会输出python脚本

在此间基础上新增延迟5秒退出
设置延时(例如5秒)
from time import sleep
sleep(5)
# This sample code supports Appium Python client >=2.3.0
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from time import sleep
from appium import webdriver
from appium.options.common.base import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
options = AppiumOptions()
options.load_capabilities({
"appium:deviceName": "_BD00",
"platformName": "Android",
"appium:platformVersion": "11",
"appium:appPackage": "com.huawei.calculator",
"appium:appActivity": "com.huawei.calculator.Calculator",
"appium:ensureWebviewsHavePages": True,
"appium:nativeWebScreenshot": True,
"appium:newCommandTimeout": 3600,
"appium:connectHardwareKeyboard": True
})
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", options=options)
el1 = driver.find_element(by=AppiumBy.ID, value="com.huawei.calculator:id/digit_8")
el1.click()
el2 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="加")
el2.click()
el3 = driver.find_element(by=AppiumBy.ID, value="com.huawei.calculator:id/digit_2")
el3.click()
# 设置延时(例如5秒)
sleep(5)
driver.quit()