如何使用Appium

本文详细介绍了在使用Appium进行移动应用自动化测试时,遇到的启动Session错误问题及其解决方案。包括正确设置环境变量,确保Java和Appium路径正确,以及如何通过adb和aapt工具获取必要的设备和应用参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、需要的参数
platformName:平台名称
deviceName:设备名称,就是刚才的adb devices -l中mode后面就是
appPackage:app包名
appActivity:app活动名
2.如何获取以上参数

  • 打开cmd,输入指令aapt dump badging D:\test\xxx.apk(APK的全名,如手机淘宝.apk)
    如果APK名字带有空格,则把路径用双引号括起来。
  • platformName:这里是android的apk
    deviceName:手机设备名称,通过adb devices查看

3.获取到参数如下:
{
“platformName”: “Android”,
“deviceName”: “OPPO R11”,
“appPackage”: “com.android.icredit”,
“appActivity”: “com.android.icredit.ui.SplashActivity”
}
start session,一直报错:an unknow server-side error occurred while processing the command .Original error:Command java-versi
在这里插入图片描述

这个问题困住我很久,解决办法如下:

  • 将%JAVA_HOME%\bin放在系统环境变量最前面
  • 将C:\Users\AppData\Local\Programs\Appium添加到系统环境变量中
  • 在命令窗口输入appium -a 127.0.0.1 -p4723 -Uf4a4d8bb,即可启动start session.

但是启动start session又遇到新的问题:
An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.

### 如何在 Python 中使用 Appium 进行测试 为了通过 Python 使用 Appium 执行自动化测试,可以按照以下方法实现完整的配置和执行流程。 #### 安装依赖库 首先需要安装 `Appium-Python-Client` 库来支持 Python 脚本与 Appium Server 的交互。可以通过克隆官方仓库完成手动安装或者直接使用 pip 工具快速安装[^1]: ```bash pip install Appium-Python-Client ``` 如果希望从源码构建并安装,则可参考如下命令获取最新版本的客户端代码: ```bash git clone git@github.com:appium/python-client.git cd python-client python setup.py install ``` #### 配置 Desired Capabilities 启动会话之前需定义一组参数称为 **Desired Capabilities** ,这些参数用于指定设备平台、应用路径以及其他选项。下面是一个基本的例子展示如何设置 Android 测试环境下的 capabilities[^3]: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'deviceName': 'emulator-5554', # 替换为实际连接的设备名称或模拟器ID 'automationName': 'UiAutomator2', 'app': '/path/to/your/app.apk' # 提供被测APK文件的具体位置 } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) ``` 注意:上述脚本中的 URL (`http://localhost:4723/wd/hub`) 是默认情况下运行于本地主机上的 Appium server 地址;而 `'deviceName'` 和 `'app'` 字段应依据具体项目需求调整其值。 #### 编写简单的测试案例 一旦建立了 WebDriver 实例之后就可以编写具体的 UI 自动化逻辑了。然而需要注意的是并非所有的定位策略都受支持,在某些场景下可能无法找到特定控件[^2]。这里给出一个简单例子演示点击按钮操作以及验证文本框内容: ```python element = driver.find_element_by_accessibility_id("buttonId") element.click() text_field = driver.find_element_by_xpath("//android.widget.EditText[@index='0']") assert text_field.text == "Expected Text" ``` 最后记得结束 session 后关闭驱动程序实例释放资源: ```python driver.quit() ``` #### 总结 综上所述,利用 Python 结合 Appium 开展移动端应用程序的功能性测试是一项高效便捷的选择方案之一。它不仅能够覆盖多款主流操作系统而且还能促进跨团队协作效率提升。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值