前情介绍:
练习环境配置
实例1(UI自动化-百度搜索)
实例2(有效登录)
实例3(无效登录)
Appium Error总结
测试需求:
在ConcactManager的这个APP里添加一个联系人,实现处理的效果如下:
测试设计:
使用Appium(支持多语言,跨平台,跨应用)来完成移动端的UI自动化测试。
使用AVD来做移动端的模拟器
模拟用户新建一个用户,首先需要打开APP,然后填入相关的信息,最后看是否能回到最初的页面来做判定
测试实现:
- 启动Appium
- 启动AndroidADT的其中一个模拟器,并安装好ContactManager
- 启动robotframework,并新建一个测试项目Autoapp,导入AppiumLibrary库
- 新建一个测试用例,包含两个步骤(关键字驱动)
- 新建一个联系人(调用关键字case:add new contact)
- 检查页面上是否包含有相关的内容(关键字:Page Should Contain Text)
- 新建一个用户自定义的测试用例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点击操作。