万事具备,只欠编码!
下面看一个简单的示例,这个示例验证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    someone@appium.io    5555555555
  8. Page Should Contain Text    Appium User

复制代码

这个就更简单了,调用resource.txt文件里面的add new contact关键字,参数就是要添加的联系人的姓名,邮件和电话,最后一行是验证添加是否成功。
好了,有兴趣的朋友可以自己试试哦。
 
转自:http://bbs.51testing.com/thread-1052147-1-1.html

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

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

    Appium是个好东东,Android,iOS都支持,并且居然RobotFramework也支持Appium了,这就是本文要介绍的AppiumLibrary. 通过前面的文章大家知道可以使用多种语言来 ...

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

    一.启动Appium 安装好了之后,在桌面或者菜单中找到Appium,分别双击或点击打开Appium.exe,如果一切正常,接着会出现一个Appium启动后的界面窗口,如下图所示. 1.1 Andro ...

  3. Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的安装

    让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Gi ...

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

    如果测试用例比较多,则当持续运行多个测试用例后,经常会出现模拟器崩溃或者Appium无法连接到该模拟器的情况出现. 经过分析,本人认为这应该是模拟器或者Appium的缺陷造成的,目前并没有直接的解决方 ...

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

    可能很多朋友已经迫不及待的想要用RobotFramework+AppiumLibrary来写Android App的测试脚本了,那我们也废话少说,直接开始. 首先打开RIDE,这是编写RobotFra ...

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

    万事具备,接下来我们就要开始编写测试脚本了. 不过,有个重要的问题还没有解决.我们知道RobotFramework在web 网页中主要依靠元素的id,name或者xpath来定位页面上的元素,我们依赖 ...

  7. Appium+Robotframework实现iOS应用的自动化测试

    Appium+Robotframework实现iOS应用的自动化测试 连接地址: 地址:https://blog.csdn.net/wd168/article/month/2016/06 1.http ...

  8. android引入百度地图之最简单的例子-HelloBaiDuMap

    开发工具 我用的是eclipse,目前这是开发android用的最多的一个工具. 开发准备 首先需要在百度地图开发平台上下载所需要的文档和功能,由于最新版的3.0.0的不是很熟悉,我这里用的是稍旧一点 ...

  9. appium +python 一个简单的例子

    appium 安装和python 安装好后. 1.      启动android模拟器--Genymotion-点击Start 2.      启动appium 3.     运行代码. # -*- ...

随机推荐

  1. IIS站点无法访问..点浏览IIS窗口直接关掉

    呃..其实这个问题很简单.. 大家可以先看这位大婶写的博文.. http://blog.csdn.net/chenguang79/article/details/7220232 如果网站一访问IIS就 ...

  2. Loader Generator---loading图片生成器

    if(公司配有专业的设计师) return; Recommend("http://loadergenerator.com/");

  3. 快速理解C#高级概念(一) Delegate委托

    做.NET开发很久,最近重新温习<C#高级编程>一书.发现很多曾经似懂非懂的问题,其实也是能够慢慢钻研慢慢理解的. 所以,打算开写<C#高级编程系列>博文.其中会借鉴<C ...

  4. JAVA语言学习笔记(一)

    1 一切都是对象 JAVA中所有代码都必须写在类里面. 方法名和参数列表(它们合起来被称为"方法签名")唯一地标识出某个方法.联想多态. 基本数据类型的"局部变量&quo ...

  5. SWFUpload 2.5.0版 官方说明文档 中文翻译版

    原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...

  6. java web

    1,当访问完一个网页的时候,浏览器会有缓存,当你再次输入原来的网站是会有从远端传来的网页缓存,所以在测试的时候要清除缓存才行

  7. cf319.B. Modulo Sum(dp && 鸽巢原理 && 同余模)

    B. Modulo Sum time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  8. C#入门随手笔记

    1..Net Framework是Microsoft为开发应用程序而创建的一个开发平台. 运行操作系统不限:Microsoft版本运行在windows,Mono版本运行开Linux和MacOS: 应用 ...

  9. C语言的源程序字符集与执行字符集

    我们程序文件的字符集就是我们写出来的.c扩展名的文件的字符集,这里用的是系统默认的 ANSI 字符集,如下图: 上面的字符集我们不关心,我们关心的是 源程序的字符集 和程序的 执行字符集 ,源程序的字 ...

  10. Effective Java 读书笔记之七 通用程序设计

    一.将局部变量的作用域最小化 1.在第一次使用变量的地方声明 2.几乎每个变量的声明都应该包含一个初始化表达式:try-catch语句是一个例外 3.使方法小而集中是一个好的策略 二.for-each ...