开源移动端测试工具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自动化测试计算器应用的加法功能。通过定位按钮元素并模拟点击操作,完成两个数字的输入和计算,最后获取计算结果并打印输出。

相关推荐
程序员小远10 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT101579744410 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏11 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
专业机床数据采集11 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔11 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH11 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试11 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744411 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化
大叔带刺12 天前
AutoSAR SomeIP配置开发速成_02测试工具开发
测试工具·someip