RobotFramework + Appium 移动自动化实现

  本次咱们移动自动化实现路线大体是这样的:  Python语言基础  —> Robot Framework测试框架  —> Android SDK和Genymotion模拟器  —>   Appium API   —>  开发移动自动化项目

 

1、环境搭建

  1. 首先咱们选择Python语言,我相信不少人都有这个疑问,为何选择Python而不是Java?html

  由于RF核心框架使用Python实现的,虽然也能够在Jython(JVM)和 IronPython(.NET)上运行,可是Python运用更佳。android

  2. 再者咱们选择RIDE编辑器;ios

  虽然RIDE是“填表格”形式,看似有点low,可是却拥有很是丰富的库,也能够像编程同样写测试用例,也支持开发系统关键字。对于开发技术薄弱的测试人员来讲也能够上手,使用比较简单。编程

  3. 接着咱们须要Android SDK;app

  由于须要用到Android SDK中的 uiautomatorviewer工具,它能够经过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。框架

  4. 最后咱们须要Appium服务。编辑器

  由于Appium支持ios和android平台上的移动原生应用、移动Web应用和混合应用,它容许测试人员使用一样的接口、基于不一样的平台写自动化测试代码,大大增长了测试套件间代码的复用性。工具

  详情参考笔者另外两篇博文: Python + Robot Framework 环境搭建     Android SDK + Appium 环境搭建布局

 

2、设备选择

  1. 直接链接真机: 打开开发者选项 -> USB调试。测试

         >>>  

  2. 或者使用模拟器: 由于Android AVD模拟器对PC硬件有要求,因此我推荐一个比较好用的模拟器Genymotion。

   连接: https://pan.baidu.com/s/1iSAWPnnFSOCFVVsPtgHA4g 提取码: qdi9

   安装:直接双击下一步便可。

   使用: 打开虚拟机,选择一个模拟器下载便可使用。

   

   详情参考另一篇博文:  Android模拟器Genymotion使用详解 

     

3、控件查看

  1. 打开uiautomatorviewer工具,点击获取布局,查看控件信息。

  

 

4、项目建立

  1. 打开RIDE  -> File

  2.  建立项目 New Project(类型选择Directory,用于建立测试套件)

  

  3. 建立测试套件 New Suite(右击项目新建,类型选择File,用于建立测试用例) 

   

  4.建立测试用例

  

  5. 建立资源 New Resource(右击项目新建,用于建立关键字)

  

  6. 建立关键字(右击资源新建)

  

    7. 至此,一个简单的测试框架搭建好了

    >>>  

 

5、编写用例

   1. 在系统关键字上导入AppiumLibrary库

  

  2. 按F5查看AppiumLibrary各类方法

  

  3. 编辑打开应用关键字(可参考 RobotFramework - AppiumLibrary 之关键字Open Application使用

*** Settings *** Library AppiumLibrary *** Keywords *** 打开应用 Open Application http://localhost:4723/wd/hub    platformName=Android    platformVersion=5.1.0    deviceName=192.168.186.101:5555    app=${CURDIR}/球酷.apk    appPackage=com.datamatch.coolball ... appActivity=com.jdd.datapredict.StartupActivity    unicodeKeyboard=True    resetKeyboard=True

  4. 在测试套件上导入Resource,并加入Suite Setup

  

  5. 查看控件元素,编辑测试用例

*** Settings *** Suite Setup 打开应用 Resource 系统关键字.txt *** Test Cases *** 正常登陆 Wait Until Element Is Visible com.datamatch.coolball:id/tabs    30    #等待菜单栏显示
    Click Element    name=个人    #点击-个人
    Click Element    name=登陆/注册    #点击-登陆
    Clear Text    com.datamatch.coolball:id/userName    #清空用户名输入框
    Input Text    com.datamatch.coolball:id/userName    18851507044    #输入用户名
    Input Password    com.datamatch.coolball:id/password    Leo5208.    #输入密码
    Click Element    name=当即登陆    #点击-当即登陆
    Element Should Be Visible    com.datamatch.coolball:id/iv_userLevel    #检查等级标签是否显示
    ${text}    Get Text    com.datamatch.coolball:id/userName    #获取用户昵称
    Should Be Equal As Strings    ${text}    Leoo    #检查用户昵称是否正确
 清空消息 Wait Until Element Is Visible com.datamatch.coolball:id/iv_message    30 Click Element name=清空 Click Element com.datamatch.coolball:id/tv_msg_clear ${text} Get Text com.datamatch.coolball:id/empty_text Should Be Equal As Strings ${text} 抱歉,暂无数据 Click Element accessibility_id=Navigate up 退出登陆 Wait Until Element Is Visible com.datamatch.coolball:id/userName    30 Click Element com.datamatch.coolball:id/userName Click Element name=退出登陆 Element Text Should Be com.datamatch.coolball:id/userName    登陆/注册

  6. 测试用例实现流程图

   

 

6、执行测试

  1. 打开appium客户端并启动(或者命令行输入appium启动)

  

  2. 启动模拟器(或者链接真机)

  3. 切回RIDE点击运行(或者快捷键F8)

  

 

7、分析结果

  查看报告或日志(或者快捷键Ctrl+R/L)

   

相关文章
相关标签/搜索