移动端自动化(appium)

本文介绍了Appium作为移动端自动化测试工具的使用,包括其自动化原理、组件详解、配置步骤和元素定位方式。通过Appium,可以在PC端编写脚本并远程控制移动设备进行测试,提高测试效率。

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

1.移动端自动化测试工具

下载appium直接安装

appium(继承自selenium), Airtest(网易), RF(robot framework 关键字驱动中的一种)

2.appium自动化原理

web自动化:  打开浏览器    打开被测网址URL   元素定位    操作(输入,点击,切换,等待....)

test_xx.py中编写自动化代码脚本(存储在本地电脑)      

被测系统/项目 在哪里进行自动化测试?   浏览器(本地电脑)  

自动化脚本和项目 在同一个位置进行存储 和 执行.

app自动化:  打开app    元素定位     操作(输入   点击   滑屏   按键   ....)

test_xx.py中编写自动化代码脚本(存储在本地电脑)

被测app软件  在哪里进行自动化测试?    移动端设备

自动化脚本 和 被测app软件 不在同一位置,  怎么执行脚本  打开移动端设备中的app程序进行测试?

在PC端编写 app自动化测试脚本, 通过appium指令服务器转发给SDK环境, 再通过SDK操作移动终端设备.

3.appium组件详解

3.1 Host: 0.0.0.0(appium是指令服务器, 用于转发指令)      port: 4723(appium默认端口)

127.0.0.1   还回/回还地址 用于接收消息

3.2 点击start server

3.3  Inspector session

4.appium自动化配置

Desired Capabilities 自动化配置

{

"platformName": "Android",  # 操作系统

"platformVersion": "6.0.1",  #  系统版本

"deviceName": "127.0.0.1:7555",      #  设备名称

"appPackage": "com.tencent.mobileqq",  # app程序包名

"appActivity": ".activity.SplashActivity",     # app程序主界面(启动界面)

"noReset": "true",# 不重置

"unicodeKeyboard":"true"# 允许输入中文

}

1.Select Elements   选中元素

2.Swipe 划屏

3.Tap   透视点击  通过appium程序直接点击 app

4. back   返回

5. Refresh  source   刷新资源     只要appium界面中的显示与设备中的程序界面显示不一致, 需要先刷新 后操作

6.Start recording   开始录制

7. 通过某种定位方式 搜索元素标签对象

8.Quit  session &close inpector 退出并关闭

5.appium录制脚本

点击start recording 开始录制

录制过程为, 选中元素标签, 在弹出标签属性后, 在右侧进行 点击(Tap), 输入(Send_keys)  清空(Clear)等操作

录制的脚本, 可以选择 不同语言, 然后将代码 copy即可.

appium中常用的元素定位方式:

1.accessibility_id     就是元素属性之一

2.id

3.xpath

4.name

录制产生的脚本如何在pycharm中运行:

1.pip install appium-python-client==1.3.0

2.导包  from  appium import webdriver

3.添加自动化配置信息

des = {

"platformName": "Android",  # 操作系统

"platformVersion": "6.0.1",  #  系统版本

"deviceName": "127.0.0.1:7555",      #  设备名称

"appPackage": "com.tencent.mobileqq",  # app程序包名

"appActivity": ".activity.SplashActivity",     # app程序主界面(启动界面)

"noReset": "true",# 不重置

"unicodeKeyboard":"true"# 允许输入中文

}

4.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", des)

问题:  如果是比较成熟的商业app软件, 它会不断的产生各种安全验证

遇到验证码  文字,图片,点击,划屏 如何处理?

1.cookie  缓存

2.设置万能验证码

3.取消验证码(执行自动化时)

4.opencv 智能识别

1.免费    需要不断的进行训练, 本质是训练一个人工智能 程序. 要求很高

2. 收费,  每次遇到验证码, 通过调用第三方接口的方式 来实现验证码的处理

自动化(web自动化, app自动化)

web自动化,   主要是为了解决回归测试阶段, 需要重复执行之前版本的所有测试用例; 替代人工进行巡检

web自动化并不能替代 功能测试; web自动化是按照编写好的程序来执行的, 不可能发现 程序之外的其它缺陷.

app自动化也是相同的.  在app兼容性测试中 效果比较直白. 也不能替代功能测试.

90%的TestCase都通过自动化的方式来执行. 原因有两个.

1.技能能力达不到    2.成本问题

web自动化/app自动化测试 都是在功能测试之后. 功能测试未完成, 意味版本不够稳定.

UI自动化前提:

1.项目周期比较长

2.项目比较稳定

3.充足的资源(人力, 物力, 时间)

UI自动化并不能发现更多的缺陷. 只是节省了人 物 时间 成本.

1.筛选人员能力, 作为对招聘人员考核的必需指标之一. 代码能力能够说明 测试人员的逻辑能力.

2.可以作为储备. 更期望测试人员能够主动通过技术手段 提升测试效率, 降低成本, 保证软件质量.

接口自动化 能够帮助测试人员, 发现更多的缺陷, 而且效率更高. 天生就适合做自动化.

软件测试:  尽可能早的发现软件中隐藏的缺陷,并确保其得以修复.

单元测试    纯白盒测试          开发自测

集成测试    黑盒为主, 白盒为辅   接口测试

系统测试    纯黑盒   功能测试

验收测试   用户验收, 第三方机构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值