robotframework-UI自动化测试-实例4(appium)

前情介绍:
练习环境配置
实例1(UI自动化-百度搜索)
实例2(有效登录)
实例3(无效登录)
Appium Error总结

测试需求:
在ConcactManager的这个APP里添加一个联系人,实现处理的效果如下:

appium.gif

测试设计:
使用Appium(支持多语言,跨平台,跨应用)来完成移动端的UI自动化测试。
使用AVD来做移动端的模拟器
模拟用户新建一个用户,首先需要打开APP,然后填入相关的信息,最后看是否能回到最初的页面来做判定

测试实现:

  1. 启动Appium
  2. 启动AndroidADT的其中一个模拟器,并安装好ContactManager
  3. 启动robotframework,并新建一个测试项目Autoapp,导入AppiumLibrary库
  4. 新建一个测试用例,包含两个步骤(关键字驱动)
    • 新建一个联系人(调用关键字case:add new contact)
    • 检查页面上是否包含有相关的内容(关键字:Page Should Contain Text)
  5. 新建一个用户自定义的测试用例add new contact
    • Open Application
    • Click Element
    • Input Text
      使用到的关键字就是上面这三个。
      详解:
      Open Application:第一个参数为你Appium所在URL路径,第二个参数为启用什么平台,第三个参数为平台版本,第四个参数为被测设备(手机)名,第五个参数为被测应用的APK,第六个参数为包名,第七个参数为Activity名字。
      Click Element:第一个参数是locator的方式,第二个参数是locator的值
      Input Text:第一个参数是locator的方式,第二个参数是locator的值

最终的robot代码如下:

*** Settings ***
Library           AppiumLibrary
Library           Selenium2Library

*** Variables ***
${REMOTE_URL}     http://localhost:4723/wd/hub
${PLATFORM_NAME}    Android
${PLATFORM_VERSION}    4.3
${DEVICE_NAME}    emulator-5554
${APP}            D:\\Apps\\ContactManager.apk
${APP_PACKAGE_NAME}    com.example.android.contactmanager
${APP_ACTIVITY}    .ContactManager

*** Test Cases ***
add_contact
    add new contact    Appium User    123456789    test@test.com
    Page Should Contain Text    Appium User

*** Keywords ***
add new contact
    [Arguments]    ${contact_name}    ${contact_phone}    ${contact_email}
    Open Application    ${REMOTE_URL}    platformName=${PLATFORM_NAME}    platformVersion=${PLATFORM_VERSION}    deviceName=${DEVICE_NAME}    app=${APP}    appPackage=${APP_PACKAGE_NAME}
    ...    appActivity=${APP_ACTIVITY}
    AppiumLibrary.Click Element    accessibility_id=Add Contact
    AppiumLibrary.Input Text    id=com.example.android.contactmanager:id/contactNameEditText    ${contact_name}
    AppiumLibrary.Input Text    id=com.example.android.contactmanager:id/contactPhoneEditText    ${contact_phone}
    AppiumLibrary.Input Text    id=com.example.android.contactmanager:id/contactEmailEditText    ${contact_email}
    AppiumLibrary.Click Element    accessibility_id=Save
    AppiumLibrary.Click Element    accessibility_id=Show Invisible Contacts (Only)


CC先生的小黑板
1 Robotframework 的基本使用,掌握buildin的方法
2 Uiautomatorview获取app元素
3 Appium 元素的定位和click点击操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 文档转载:http://www.cnblogs.com/ydnice/p/5787800.html Appium环...
    涛b阅读 906评论 0 1
  • 前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改。 大多数的iOS App(没有持续集成)迭代流程是这样的...
    默默_David阅读 1,717评论 0 4
  • 1)解释什么是Appium?Appium是一个免费分发的开源移动应用UI测试框架。 2)列出Appium的可以完成...
    CC先生之简书阅读 21,573评论 0 22
  • 去年九月至今,从家乡的小镇到梅城,在一日梦一日醒中走过了快半年的光阴。还是要感慨一下时间过得真的快。 工作之余,最...
    惠卿阅读 613评论 4 3