开源移动端测试工具Appium使用方法与举例说明

Appium是一个开源的移动端测试自动化框架,可用于测试原生、混合及移动端的Web项目,支持iOS、Android及Firefox OS平台。以下为你介绍其使用方法和示例:

使用方法

  1. 环境搭建

• 安装Appium:可以使用npm(Node.js包管理器)进行安装,在命令行中运行以下命令:

bash 复制代码
 npm install -g appium

• 安装Appium客户端库:根据你使用的编程语言,安装相应的Appium客户端库。以Python为例,使用pip安装Appium Python客户端:

bash 复制代码
 pip install Appium-Python-Client

• 配置移动设备:可以使用模拟器或真机进行测试。如果使用真机,需要开启设备的USB调试模式,并通过USB线将设备连接到电脑;若使用模拟器,需确保模拟器已正确安装和启动。

• 下载对应平台的驱动:对于Android,需要安装Android SDK并配置环境变量;对于iOS,需要安装Xcode和相关的开发工具。

  1. 启动Appium Server

• 可以通过命令行启动Appium Server,在命令行中输入:

bash 复制代码
appium

• 也可以使用Appium Desktop工具,它提供了图形化界面来启动和管理Appium Server。启动后,Appium Server默认监听4723端口。

  1. 编写测试脚本

以下是使用Python编写的Appium测试脚本示例,以Android应用为例:

python 复制代码
from appium import webdriver

# 配置Desired Capabilities

desired_caps = {

    "platformName": "Android", # 平台名称

    "platformVersion": "10", # 平台版本

    "deviceName": "your_device_name", # 设备名称,可以是任意字符串

    "appPackage": "com.example.app", # 应用包名

    "appActivity": "com.example.app.MainActivity", # 应用启动Activity

    "unicodeKeyboard": True, # 使用Unicode编码方式发送字符串

    "resetKeyboard": True # 隐藏键盘

}

# 连接Appium Server

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

try:

    # 定位元素并进行操作

    element = driver.find_element_by_id('com.example.app:id/button')

    element.click()

    # 输入文本

    input_box = driver.find_element_by_id('com.example.app:id/input_box')

    input_box.send_keys('Hello, Appium!')

    # 获取元素文本

    text_element = driver.find_element_by_id('com.example.app:id/text_view')

    text = text_element.text

    print(text)

except Exception as e:

    print(f"An error occurred: {e}")

finally:

    # 关闭应用

    driver.quit()
  1. 运行测试脚本

将上述脚本保存为一个Python文件(例如test_appium.py),在命令行中运行:

python 复制代码
 python test_appium.py

脚本运行时,Appium会根据配置的Desired Capabilities启动应用,并执行脚本中的操作。

使用举例

场景:测试一个简单的计算器应用

假设我们要测试一个计算器应用,实现两个数字相加的功能。以下是具体的测试步骤和脚本:

python 复制代码
 from appium import webdriver

# 配置Desired Capabilities

desired_caps = {

    "platformName": "Android",

    "platformVersion": "10",

    "deviceName": "your_device_name",

    "appPackage": "com.example.calculator",

    "appActivity": "com.example.calculator.MainActivity"

}


# 连接Appium Server

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)


try:

    # 输入第一个数字

    num1_button = driver.find_element_by_id('com.example.calculator:id/num1_button')

    num1_button.click()


    # 点击加号按钮

    plus_button = driver.find_element_by_id('com.example.calculator:id/plus_button')

    plus_button.click()


    # 输入第二个数字

    num2_button = driver.find_element_by_id('com.example.calculator:id/num2_button')

    num2_button.click()


    # 点击等于按钮

    equal_button = driver.find_element_by_id('com.example.calculator:id/equal_button')

    equal_button.click()


    # 获取计算结果

    result_element = driver.find_element_by_id('com.example.calculator:id/result_text')

    result = result_element.text

    print(f"计算结果: {result}")


except Exception as e:

    print(f"An error occurred: {e}")


finally:

    # 关闭应用

    driver.quit()

在这个示例中,我们使用Appium自动化测试计算器应用的加法功能。通过定位按钮元素并模拟点击操作,完成两个数字的输入和计算,最后获取计算结果并打印输出。

相关推荐
蒸鱼Yuzheng1 小时前
Unity 与 Unreal 测试工具怎么回答:Profiler、日志、自动化与证据链
测试工具·unity·性能分析·游戏测试·unrealengine
匠测AI说21 小时前
XCUITest 自动化全解:同进程白盒、XCTest 架构、自动同步机制与 iOS 端选型指南
测试工具·ios·自动化
xfilm埃利测量1 天前
四探针法测电阻:原理讲透 + 常见问题一次说清
测试工具·平面·四探针·薄膜电阻测量
PhotonixBay2 天前
增材制造表面粗糙度测量:3D共聚焦多尺度方法
功能测试·测试工具·共聚焦显微镜·增材制造·测试标准
硬禾科技3 天前
连接世界的工程哲学
嵌入式硬件·测试工具·自动化·硬件工程
wuhuhuan3 天前
Case Generator 平台升级
python·测试工具·自动化
柒儿吖3 天前
SSCom 重构全记录:用 Rust 把串口调试助手送上鸿蒙 PC、macOS、Windows和Linux
测试工具·rust·harmonyos
AngusKit3 天前
AngusTester 与 Postman、MeterSphere:私有化统一测试怎么选
测试工具·jmeter·压力测试·metersphere·web测试·移动端测试
蒲公英内测分发4 天前
App 更新一次就换一个二维码?智能硬件配套 App 的版本和下载入口怎么管理
人工智能·测试工具·智能家居·智能硬件
测试老哥4 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试