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    [email protected]
    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点击操作。

你可能感兴趣的:(robotframework-UI自动化测试-实例4(appium))