Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子

万事具备,只欠编码!

下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功。这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址:示例代码下载

首先请看resource.txt文件的代码:

  1. *** Settings ***
  2. Library           AppiumLibrary
  3. *** Variables ***
  4. ${REMOTE_URL}     http://localhost:4723/wd/hub
  5. ${PLATFORM_NAME}    Android
  6. ${PLATFORM_VERSION}    4.4.4
  7. ${DEVICE_NAME}    Android Emulator
  8. ${APP}            ../../../ContactManager/ContactManager.apk
  9. *** Keywords ***
  10. add new contact
  11. [Arguments]    ${contact_name}    ${contact_phone}    ${contact_email}
  12. Open Application    ${REMOTE_URL}    ${PLATFORM_NAME}    ${PLATFORM_VERSION}    ${DEVICE_NAME}    ${APP}
  13. Click Element    accessibility_id=Add Contact
  14. Input Text    id=com.example.android.contactmanager:id/contactNameEditText    ${contact_name}
  15. Input Text    id=com.example.android.contactmanager:id/contactPhoneEditText    ${contact_phone}
  16. Input Text    id=com.example.android.contactmanager:id/contactEmailEditText    ${contact_email}
  17. Click Element    accessibility_id=Save

复制代码

这里重点要说的是Variables下的五个变量,它们都是Open Application关键字的参数,用于在测试执行时提供给Appium相关的参数设置,之前的文章曾经说过可以不设置,在测试脚本中进行设置,这五个就是进行相关设置的参数。下面分别做下解释说明。

${REMOTE_URL}:远程URL,指的是Appium所在的地址以及端口号,之后的/wd/hub为固定格式,请不要改动。

${PLATFORM_NAME}:平台名称,我们在Android中进行测试,只能写Android。

${PLATFORM_VERSION}:平台版本,也就是Android的版本号,这个要和模拟器中设定的版本相同即可。

${DEVICE_NAME}:设备名称,就是运行中的模拟器的名称,如果不知道,可以通过在命令行中输入adb devices指令取得。

${APP}:要测试的App的全路径,注意这个路径指的是相对于Appium所在的机器的路径,这里的App需要从是Appium官网下载,下载地址:示例代码下载,下载后在sample-code\apps\ContactManager目录下可找到ContactManager.apk。

接下来的Keywords就简单了,可以打开AppiumLibrary得知每个关键字的具体含义,也可以更直接的在RIDE中查看关键字的含义,点击左上方的K图标,然后弹出Search Keywords窗口,再选择Source为AppiumLibrary,如下图所示。

如何获取元素在之前的文章说过了,怎么样?写起来是不是很简单?

接下来再来看看contacts.txt里面的脚本:

  1. *** Settings ***
  2. Resource          resource.txt
  3. *** Test Cases ***
  4. add_contact
  5. [Documentation]    demo for android_contacts(https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py)
  6. [Tags]    demo
  7. add new contact    Appium User    [email protected]    5555555555
  8. Page Should Contain Text    Appium User

复制代码

这个就更简单了,调用resource.txt文件里面的add new contact关键字,参数就是要添加的联系人的姓名,邮件和电话,最后一行是验证添加是否成功。

好了,有兴趣的朋友可以自己试试哦。

转自:http://bbs.51testing.com/thread-1052147-1-1.html

时间: 2024-09-29 03:40:19

Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子的相关文章

Appium+Robotframework实现Android应用的自动化测试-4:AppiumLibrary介绍和安装

Appium是个好东东,Android,iOS都支持,并且居然RobotFramework也支持Appium了,这就是本文要介绍的AppiumLibrary. 通过前面的文章Appium+Robotframework实现手机应用的自动化测试-1:Appium简介,大家知道可以使用多种语言来写Appium的测试脚本,但如果从编写效率和学习曲线上来说,当然是用如RobotFramework的关键字的方式最为简单,所以AppiumLibrary就出现了,从Appium官网可知最新的版本是1.2.5,在

Appium+Robotframework实现Android应用的自动化测试-2:Windows中启动Appium和模拟器

一.启动Appium 安装好了之后,在桌面或者菜单中找到Appium,分别双击或点击打开Appium.exe,如果一切正常,接着会出现一个Appium启动后的界面窗口,如下图所示. 1.1 Android Settings 点击左上角的第一个机器人图标,弹出Android Settings窗口,如下图所示. 在该窗口可以对将要进行测试的Android应用进行设置,因为接下来我们写脚本来跑测试,所以可以统统不进行设置,保持其默认值即可.如果不在脚本中设置,则需要在这里设置下,不过大部分保持默认值即

Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的具体安装步骤

由于前两篇文章主要是翻译自Appium官网,由于本人英文不是很好,所以还请读者见谅,也感谢大家的厚爱和支持. 好了,让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Git以及cURL,不过我的经验是这些不是必须的,可以不装,当以后需要时再装也不迟,这样一开始安装比较容易和上手. 废话少说,直接开始安装步骤: 1.安装android的sdk包,(htt

Appium+Robotframework实现Android应用的自动化测试-5:RIDE中AppiumLibrary的配置

可能很多朋友已经迫不及待的想要用RobotFramework+AppiumLibrary来写Android App的测试脚本了,那我们也废话少说,直接开始. 首先打开RIDE,这是编写RobotFramework测试脚本的集成环境,如果没有则先安装好,当然RobotFramework也要安装好,这些大家可以在网上查找相关的资料来解决如何安装的问题. 其次,新建一个resource.txt文件,这个文件是用来放置共用的脚本的,之后点击Edit选项卡,再点击右侧的Library按钮用于添加Appiu

Appium+Robotframework实现Android应用的自动化测试-3:一个必不可少的工具介绍

万事具备,接下来我们就要开始编写测试脚本了. 不过,有个重要的问题还没有解决.我们知道RobotFramework在web 网页中主要依靠元素的id,name或者xpath来定位页面上的元素,我们依赖浏览器的插件firepath来做到这一点,但在Android应用中,怎么定位页面上的元素呢?现在,这个关键的工具就该出场了,它就是uiautomatorviewer.bat,这个工具位于%ANDROID_HOME%\tools目录下,双击运行它. 如果模拟器还没有启动,也把它启动起来,等模拟器启动完

Appium+Robotframework实现Android应用的自动化测试-7:模拟器频繁挂掉的解决方案

如果测试用例比较多,则当持续运行多个测试用例后,经常会出现模拟器崩溃或者Appium无法连接到该模拟器的情况出现. 经过分析,本人认为这应该是模拟器或者Appium的缺陷造成的,目前并没有直接的解决方案. 不过可以曲线救国,我的解决方案是:在开始测试时启动模拟器,在测试结束后关闭模拟器,这样虽然需要更多的时间,但这个问题确实不再出现了,时间有的是,可以让其在夜间自动启动执行就可以了. 在Settings中加入Process库,这个库是Robotframework自带的,写明即可. *** Set

Appium+Robotframework实现iOS应用的自动化测试-4:OS X中安装和启动RIDE

有两种方式进行Appium测试: 1. 远程方式进行Appium测试:在Windows系统中启动RIDE并运行测试,这种方式的好处是方便,简单,但在一开始可能因为配置的问题测试跑不起来: 2.本地方式进行Appium测试:就是直接在OS X中启动RIDE并运行测试,这种方式的好处是直接,能够很直接的得到测试结果,但不是很方便,毕竟大家平时还是主要使用Windows操作系统. 不管哪种方式,都可以参考之前的文章Appium+Robotframework实现Android应用的自动化测试-4:App

Appium+Robotframework实现iOS应用的自动化测试-5:一个简单的例子

万事具备,只欠编码! 下面看一个简单的示例,这个示例验证常见的登录功能.这个例子的应用是我所在的公司正在研发的,还没有正式上线,就不提供下载路径了.登录功能是很多应用都用的,这个大家都知道是怎样的功能. 首先请看resource.txt文件的代码: *** Settings *** Library AppiumLibrary *** Variables *** ${REMOTE_URL} http://192.168.1.6:4723/wd/hub ${PLATFORM_NAME} iOS ${

Android Handler的一个简单使用例子

在前面 开启一个线程Thread并用进度条显示进度 这篇文章里,我们用线程实现了这么一个简单的功能,就是点击按钮,加载进度条.但是有没有发现,点击一次之后,再次点击就会没效.我们可是需要每次点击都要显示下一张图片的.永盈会娱乐城 这里就需要引入 Android 的消息机制了,简单来说,就是 Handler.Looper 还有 Message Queue的使用.这里我们用一个简单的例子来说明 Handler 的使用,就是每次点击按钮,给消息队列发送一个数字 5.还是在 PaintingActivi