Windows下Robot与Appium做手机自动化测试

一、环境安装

1、robotframework安装,这里使用pip安装(pip是一个安装和管理Python包的工具,在前面文章《Appium在windows下的环境搭建与简单应用》有介绍)

pip install robotframework(可以不安装,如果不使用,只用ride编辑case;建议装上,没试过不安装是否会影响robot的正常使用)

2、安装ride,在安装ride之前,需要安装组件wxpython,具体下载地址:

https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

根据系统选择适合的版本下载后进行安装,我这里选择的版本为:

wxPython2.8-win64-unicode-2.8.12.1-py27.exe

然后再安装ride:

pip install robotframework-ride

然后运行ride:

D:\Softwarepython2_7_11\Scripts>ride.py

3、安装Appium的robotframework库,即:AppiumLibrary

pip install robotframework-appiumlibrary

到这一步,appium与robot的环境就安装完成了。

如果遇到下面问题:

1) 运行测试用例时,出现:command: pybot.bat --argumentfile c:\users\zp\appdata\local\temp\RIDEmsedfu.d\argfile.txt --listener D:\Software\python2_7_11\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:53293:False D:\Softwarepython2_7_11\appcase\justtest.txt

解决办法:把“[上级目录]/python2_7_11/Scripts”加到系统变量PATH中。(具体变量设置路径(win7):我的电脑->高级系统设置->高级->环境变量->用户变量)

如果仍然报错,如'python' 不是内部或外部命令,也不是可运行的程序,把python的安装路径也加入PATH变量即可。

2)运行测试用例时,出现:Keyword 'AppiumLibrary.Open Application' expected 1 to 2 non-keyword arguments, got 7.

解决办法:参数应该以key,value的形式进行书写,这key的详细描述有,但笔者按照原来的惯性思维,省去了,导致错误,并且除了第一个url外,其它参数不能使用变量,否则也会报错,具体实例如:
Open Application    ${REMOTE_URL}    platformName=Android    platformVsersion=22    deviceName=X600    app=D:/apks/brc_huaxi_418_test.apk    appPackage=com.hxdsw.brc

...    appActivity=.ui.AppStart

二、robot框架的具体使用,可以参考测试专题《自动化测试框架》一文

三、一个实战演示示例,Text Edit内容如下:

Text Edit

*** Settings ***

Library           AppiumLibrary

*** Variables ***

${REMOTE_URL}     http://localhost:4727/wd/hub    # 本地appium服务地址

*** Test Cases ***

enterApp

    Open Application    ${REMOTE_URL}    platformName=Android    platformVsersion=22    deviceName=X600    app=D:/apks/brc_test.apk    appPackage=com.hxdsw.brc

    ...    appActivity=.ui.AppStart

    Wait Until Page Contains Element    id=guide_viewpager    10

    Swipe    800    80    50    80    500

    sleep    3

    Swipe    800    80    50    80    500

    Wait Until Page Contains    点击进入    10

    Click Element    id=enter_in

    Wait Until Page Contains    我的    10

login

    Click Element    id=me_tv

    Wait Until Page Contains    登录    10

    Input Text    id=my_login_name    18284504485

    Input Text    id=my_password    123456

    Click Element    id=btnLogin

    Wait Until Page Contains Element    id=ads_number    10

Close Application

注意,如果要使用上面的例子,在“应用宝”中下载使用app“联盟生活家”即可。

要注意的是,不管做什么测试时,都应该在测试步骤执行后添加检查项,判断步骤是否执行成功,所以上面使用了Wait Until Page Contains、Wait Until Page Contains Element等关键字。

编写自定义扩展关键字

如果库中的关键字不能满足自己的需要,我们就需要编写自己的扩展关键字了。这里可以参考文章《robot之python扩展库编写》一文。



留言