在上篇文章中,我们搭建好了appium+robotframework的环境,这篇文章中主要是一个简单实例。

一、测试用例编写前提

1.模拟器(或手机)连接电脑

adb devices                     查看设备是否已经连接电脑

adb connect 设备型号        把测试设备与电脑连接(夜神模拟器对应的设备型号:127.0.0.1:62001)

2.启动appium server

cmd窗口中,输入appium,即可启动

二、测试用例编写步骤

1.创建测试项目

File-New Project,选择类型Directory type

2.创建测试套件

测试项目-New Suite,输入Name,选择类型File type

3.创建测试用例

测试套件-New Test Case,输入Name

4.导入测试库AppiumLibrary

测试套件Edit标签页-Library,输入Name:AppiumLibrary

注:导入的库显示为红色时,表示导入的库不存在;如果是黑色,则表示导入成功

5.编写测试用例

测试用例Edit标签页,输入Keywords

注:关键字显示蓝色,说明它是一个合法的关键字,后面为红色说明需要输入一个参数

三、实例

Open Application,启动指定app

要想打开模拟器或手机上的指定app,则需要使用open application方法,这里,对这个方法进行简单的介绍:

1.http://localhost:4723/wd/hub:

Appium所在的url路径(这里appium搭建在本机,所以url格式固定不变)

2.platformName:

被测的平台名称,Android或ios

3.platformVersion:

平台版本,如Android的版本号

4.deviceName:

设备名称,即运行得模拟器或真机的设备型号

5.app:

被测应用的存储路径

6.appPackage:

app的包名

7.appActivity:

app的activity名

注:关于app的包名及activity名的获取方法,在本博客的Monkeyrunner的学习中,有介绍过;请参考Monkeyrunner中的方法。

8、实参获取方法

1)deviceName获取

通过在cmd命令行中,输入adb devices指令获取

2)app

与appPackage和appActivity,可以二选一;即选择填写appPackage和appActivity参数时,可省略app参数,不填写;不填写app时,默认被测设备中,已经有该app的存在;填写app该参数时,系统会重新安装指定app

3)appPackage

方法一:通过uiautomatorviewer获取

方法二:aapt dump badging [apk在电脑本地存储路径],apk路径中一定不能有空格(具体参考:http://www.cnblogs.com/lynn-li/p/5885001.html中的“如何获取一个app的package名和activity”)

4)appActivity

方法一:aapt dump badging [apk在电脑本地存储路径],apk路径中一定不能有空格(具体参考:http://www.cnblogs.com/lynn-li/p/5885001.html中的“如何获取一个app的package名和activity”)

方法二:打开首页activity name,获取命令adb logcat ActivityManager:I*:s

到此,我们已经可以成功打开指定设备上的特定app。

下一章节,主要分享安卓自动化AppiumLibrary中常用的关键字。

最新文章

  1. [POJ&HDU]杂题记录
  2. 抓包工具fiddler
  3. 浅析敏感词过滤算法(C++)
  4. stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)
  5. >>> FilterDispatcher <<< is deprecated! Please use the new filters!
  6. 从两个平方算法到分治算法-java
  7. False Discovery Rate, a intuitive explanation
  8. USACO Section 2.2: Runaround Numbers
  9. 最大子数组分治方案C++实现
  10. 使用Java中间MessageDigest该文本MD5加密(Java中间MD5样品加密算法演示)
  11. 转载的log4cplus使用指南
  12. 一款超好用轻量级JS框架——Zepto.js(下)
  13. 关于RecyclerView嵌套导致item复用异常,界面异常的问题
  14. spark-sql jdbc操作mysql
  15. 使用Visual Studio Team Services敏捷规划和项目组合管理(六)——VSTS仪表盘的使用
  16. Understanding about numerical stability, convergence and consistency
  17. Java 之外,是 Scala 还是 Groovy?【转载】
  18. LeetCode题解之Binary Tree Postorder Traversal
  19. javascript打开制定窗口大小的页面
  20. jquery源码解析:attr,prop,attrHooks,propHooks详解

热门文章

  1. QT界面应用程序的语言国际化
  2. JS中childNodes深入学习
  3. leetcode 第42题 Multiply Strings
  4. mysql存储过程及常用函数
  5. IQueryable与IQEnumberable的区别
  6. 尝试使用Memcached
  7. socket串口通信
  8. CEGUI添加自定义控件
  9. PLAN: step one
  10. C51编译器扩展的关键词 & C51中断函数的写法