0


移动端自动化(appium)

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

  1. back 返回

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

6.Start recording 开始录制

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

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.免费 需要不断的进行训练, 本质是训练一个人工智能 程序. 要求很高

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

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

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

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

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

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

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

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

UI自动化前提:

1.项目周期比较长

2.项目比较稳定

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

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

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

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

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

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

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

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

系统测试 纯黑盒 功能测试

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


本文转载自: https://blog.csdn.net/Cpgm_AH/article/details/127262214
版权归原作者 中国程序员-AH 所有, 如有侵权,请联系我们删除。

“移动端自动化(appium)”的评论:

还没有评论