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

相关推荐
西安同步高经理12 小时前
B码发生器破解变电站故障录波的时间困局、b码同步时钟、b码授时
测试工具
大貔貅喝啤酒14 小时前
接口测试_Postman(详细版)
javascript·测试工具·node.js·自动化·postman
Air_July19 小时前
Brower User Web UI部署详细步骤
人工智能·python·测试工具
测试199820 小时前
接口测试工具:Postman的高级用法
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
汽车仪器仪表相关领域21 小时前
Kvaser Memorator Professional HS/LS:高速 + 低速双通道 CAN 总线记录仪,跨系统诊断的专业级解决方案
网络·人工智能·功能测试·测试工具·安全·压力测试
程序员小远1 天前
如何编写测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
PhotonixBay2 天前
激光共聚焦显微镜的非接触式原位表面表征测量
人工智能·测试工具
编程之升级打怪2 天前
HTTP接口调用命令curl的简单用法
测试工具