万事具备,只欠编码!
下面看一个简单的示例,这个示例验证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. Yii2 使用八 使用scenarios

    在model里定义 public function scenarios() { return [ 'add' => ['title', 'content'], ]; } 在rules里定义 [[ ...

  2. Java多线程编程核心技术--Lock的使用(一)

    使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但在JDK1.5中新增加了ReentrantLock类也能达到同样的效果,并且在扩 ...

  3. 3步完成chrome切换搜索引擎

    1.打开chrome://settings/,找到搜索 2.点击“管理搜索引擎”,出现弹窗. 增加搜索引擎,三个文本框分别输入:名称.快捷键.地址 3.在新的选项卡中,输入快捷键(如:github), ...

  4. Jedis 例子(demo)大全

    第一步:到git下载jedis源码,如果你用maven或者gradle,那么直接下官方的即可,地址:https://github.com/xetorthio/jedis:如果你用ant,下载这个:ht ...

  5. nlssort函数的用法以及参数

    NLSSORT,可以用来进行语言排序,且不影响当前会话. 用法示例: 拼音SELECT * FROM TEAM ORDER BY NLSSORT(排序字段,'NLS_SORT = SCHINESE_P ...

  6. SQL笔记 - CTE递归实例:显示部门全称

    昨天在整理JS的Function时,示例是一个递归函数.说起递归,想起前段时间在搞CTE,那个纠结呀,看似容易,可我总抓不住门道,什么递归条件,什么结束条件,一头雾水...今天一大早就爬起来,果然不负 ...

  7. C#创建windows服务列表

    转载自:http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html Windows Service这一块并不复杂,但是注意事项太多了,网上 ...

  8. Jquery实现滚动显示欢迎字幕效果

    Jquery控制滚动显示欢迎字幕: 参考代码: <!DOCTYPE html> <html> <head> <title>Colin Marquee W ...

  9. substr — 详解

    substr — 返回字符串的子串 举例说明: string substr ( string $string , int $start , int $length ) 返回字符串 string 由 s ...

  10. oracle数据库启动

    遇到个白痴问题,放假停电,回来时启动数据库,发现无法进入oracle管理员界面. 如下输入,但是显示的命令无效. [oracle@crm001 database]$ sqlplus / as sysd ...