RF-APP自动化测试-「ios」
RF框架+Appium也是可以编写app自动化case的,用appium作为一个服务,只要给RF脚本一个 http://localhost:4723/wd/hub的服务地址;远程的话,把localhost 换成具体的ip或域名;
测试ios上的应用,大概需要以下环境:
1.Mac os的机器
2.xcode
3.appium
4.python
5.RF、AppiumLibrary
因为目前暂不做app的测试了,没有具体的环境,就不给大家演示环境的搭建了,还望见谅,网上有很多相关的基础环境搭建教程,大神们写的都挺好的,大家可以去自行搜索哈。
本次主要是给大家分享的是基于RF框架下case的编写;
var.py 里面是变量的参数,就不放出来了
ios模拟器case脚本:
*** Settings ***
Library AppiumLibrary
Variables var.py
*** Test Cases ***
启动配置
Comment ios和APPIUM的配置信息
Open Application http://localhost:4723/wd/hub platformName=${demoiosplatformName} platformVersion=${demoiosplatformVersion} deviceName=${demoiosdeviceName} app=${demoiosapp}
Wait Until Page Contains Element xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1] ${timeout}
Clear Text xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1]
Input Text xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1] ${username}
Comment 输入密码
Input Password xpath=//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1] ${password}
Click Element xpath=//UIAApplication[1]/UIAWindow[1]/UIAButton[2]
ios真机case脚本:
*** Settings ***
Library AppiumLibrary
Variables var.py
*** Test Cases ***
启动配置
Comment ios和APPIUM的配置信息
Open Application http://localhost:4723/wd/hub platformName=${iosplatformName} platformVersion={iosplatformVersion} deviceName=${iosdeviceName} app=${iosapp} udid=${udid}
除了上面的之外,ios和Android的case编写还有2处区别,其他基本上都差不多
1.xpath的定位路径;此处如果开发支持,还是有办法避免的,比如定义好一样的id或name,这样识别也比xpath要快一些的
2.AppiumLibrary里面部分的关键字是Android或ios特有的,关键字使用时要注意