使用Genymotion模拟器结合RF执行

前提搭建环境参考《python_Appium测试环境搭建》文章详细介绍。

  • 常用关键字

关  键  字

描   述

Click Button

点击按钮

Click Element

点击元素

Click Text

点击文字

Input Text

指定元素中输入文本

Swipe

滑动屏幕

Get Text

获取某标签内容

  • 校验关键字

关  键  字

描   述

Element Name Should Be

检查元素的name属性

Element Should Be Enabled

检查元素是否可用/可见

Page Should Contain Element

检查界面包含某些元素

Page Should Contain Text

检查界面包含某些文字信息

Page Should Not Contain Element

检查界面不包含某些元素

Page Should Not Contain Text

检查界面不包含某些文字信息

  • 等待关键字

关  键  字

描   述

Wait Until Page Contains

等待直到界面中包含某些文字,才能执行下一步,默认等待5秒

Wait Until Page Contains Element

等待直到界面中包含某些元素,才能执行下一步

Wait Until Page Does Not Contain

等待直到界面中不包含某些文字,才进行下一步

Wait Until Page Does Not Contain Element

等待直到界面中不包含某些元素,才进行下一步

● 需要官方下载注册账号下载安装完后,使用注册账号登录

● 点击Add可选择对应的模拟器版本号下载到本地,需要与SDK下载的android版本对应起来

● 这里android版本是8.0,下载模拟器API  26对应的8.0

● 点击Start,即可启动模拟器

● 首选的Genymoition模拟器,它具有运行速度快的优点

● 环境验证:adb devices

● 出现SDK版本号与模拟器版本不一致性,提示SDK的版本是41,模拟器版本是40

D:\android-sdk\platform-tools目录的adb.exe文件COPY到D:\Program Files\Genymobile\Genymotion\tools\目录替换掉旧的adb.exe即可

● 启动appium服务后,再启动模拟器,再验证环境,详见上图是OK了,说明成功连接到模拟器

1、执行计算器测试实例

● 查询手机系统的应用名称和activity信息

先在模拟器启动计算器,然后DOS窗口输入adb shell dumpsys window w|findstr \/| findstr name=

● 如下图可知:

com.android.calculator2就是应用名称

.Calculator就是appActivity

2、查看计算器控件元素及属性名

● 使用UI Automator工具可定位到控件属性名和值

Resource-id就是ID属性

Package就是包名

3、RF框架实现操作模拟器APP测试

● 这里以APP的球酷为例测试,先查看apk的信息,命令如下:

D:\Program Files\Genymobile\Genymotion\tools> aapt dump badging D:\demo\APP\球酷.apk

查找如下信息:

package: name='com.cool.app‘

launchable-activity: name='com.cwvs.jdd.StartupActivity'

▲ 如何键盘输入中文

方法:在open application参数最后,新增unicodeKeyboard=True    resetKeyboard=True;不加入这两个参数时,中文无法输入。

4、RF框架实现操作模拟器APP测试

● 用例分层参考webUI设计,本次演示RF框架操作APP实例

● 初始化执行打开应用,前提条件需要加载资源文件=》系统关键字

AppiumLibrary移动APP测试的更多相关文章

  1. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  2. App测试

    (1)App独特测试点: 客户端兼容性测试:系统版本.不同深度定制的rom.屏幕分辨率.中断测试.安装.卸载.升级.对其他程序的干扰等 需要的一些工具: appnium / lr /  jmeter ...

  3. APP测试要点

    APP测试的时候,建议让开发打好包APK和IPA安装包,测试人员自己安装应用,进行测试.在测试过程中需要注意的测试点如下: 1.安装和卸载 ●应用是否可以在IOS不同系统版本或android不同系统版 ...

  4. 安卓APP测试验证点总结

    最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...

  5. 推荐书籍 -《移动App测试的22条军规》

    在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:<移动App测试的22条军规>.黄勇是ThoughtWorks资深敏捷QA和咨询师.对于我来说,和黄勇在一起的工作的这个项目, ...

  6. APP测试流程

    1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...

  7. 如何做好APP测试?

    测试一个App具体包括哪些方面,以及每个方面有什么关键点呢? 测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗? 你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现 ...

  8. app测试与web测试的区别

    1.从功能测试的来讲的话,在流程和功能测试上是没有区别的.系统测试和一些细节可能会不一样. 那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/ ...

  9. 摘抄——读《大话移动APP测试 Android与IOS》

    用了两天读完了<大话移动APP测试 Android与IOS>,由于刚开始接触移动测试,技术型的篇章只能先放过了o(╯□╰)o,有以下内容觉得很有必要时不时的看看,来反思自己的工作,自勉!! ...

随机推荐

  1. 卡尔曼(Kalman)滤波及十种数据采集滤波的方法和编程实例

    卡尔曼(Kalman)滤波:https://blog.csdn.net/CSDN_X_W/article/details/90289021 十种数据采集滤波的方法和编程实例:https://wenku ...

  2. 解决 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 九步完成

  3. beego注解路由不刷新(不生效)

    本文主要说明本人在使用beego的注解路由时不生效问题 背景: 1.按照官网进行注解路由配置,第一次设置路由,完全正确,注解路由可用. 2.修改路由注释后,发现swagger页面并未有对应的更新 3. ...

  4. 【死磕 Java 集合】— ConcurrentSkipListMap源码分析

    转自:http://cmsblogs.com/?p=4773 [隐藏目录] 前情提要 简介 存储结构 源码分析 主要内部类 构造方法 添加元素 添加元素举例 删除元素 删除元素举例 查找元素 查找元素 ...

  5. FASTCGI/CGI

    在了解这两个协议之前,我们先谈一下动态网页 动态网页 是指跟静态网页相对的一种网页编程技术.静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了--除非你修改页面代码.而动态网 ...

  6. 关于C语言打印string类字符串的问题

    首先因为printf函数输出字符串是针对char *的,即printf只能输出c语言的内置数据,而string不是c语言的内置数据. 其次string类型的对象不止包含字符串,还包含了许多用于操作的函 ...

  7. Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2

    系统:win10 环境:Visual Studio 2019社区版 问题:错误 MSB6006 “CL.exe”已退出,代码为 2 解决方法: 1 一个类内部的定义返回类型为double的方法种没有写 ...

  8. idea中添加mybatis mapper 样例

    代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC &quo ...

  9. oracle修改已存在数据的字段类型

    第一次使用oracle数据库,在通过Navicat premium工具修改字段类型时,发现报“ORA-01439: column to be modified must be empty to cha ...

  10. GIT和SVN的区别(面试)

    Cit是分布式,而SVN不是分布式 存储内容的时候,Git按元数据方式存储,而SVN是按文件 Git没有一个全局版本号,SVN有,目前为止这是SVN相比Git缺少的最大的一个特征 Git的内容完整性要 ...