51Testing软件测试论坛

标题: Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子 [打印本页]

作者: w_d775    时间: 2015-7-15 12:05
标题: Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子
本帖最后由 w_d775 于 2015-7-15 15:51 编辑

万事具备,只欠编码!
下面看一个简单的示例,这个示例验证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关键字,参数就是要添加的联系人的姓名,邮件和电话,最后一行是验证添加是否成功。
好了,有兴趣的朋友可以自己试试哦。
待续,请持续关注...


作者: fengye1113    时间: 2015-11-23 14:57
学习了,谢谢分享!
作者: SunnyLan    时间: 2016-4-12 17:37
学习了,谢谢分享

作者: liusiomn    时间: 2016-5-18 17:42
您好,请问一下这个app只能是从github上下的那几个吗?如果我想直接跑AVD中的app,比如打开默认的浏览器,参数应该怎么传?
作者: eric621621    时间: 2016-6-3 15:41
mark




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2