RobotFramework 自动化测试实战基础篇

RobotFramework 简介和特点

RobotFramework 不是一个测试工具,准确来说,它是一个自动化测试框架,或者说它是一个自动化测试平台。他拥有的特性如下:

  1. 支持关键字驱动、数据驱动和行为驱动
  2. 测试执行报告和日志是HTML格式,容易阅读
  3. 易于扩展,测试人员可以使用Python和java创建自己需要的测试库
  4. 提供了远程测试执行接口,可以进行分布式测试执行
  5. 易于使用,采用表格式语法,统一测试用例格式

工作原理

  1. 当使用 Selenium2.0 启动浏览器 Web Browser 时,后台会同时启动基于 WebDriver Wire 协议的 Web Service 作为 Selenium 的 Remote Server,并将其与浏览器绑定。绑定完成后,Remote Server 就开始监听 Client 端的操作请求。
  2. 执行测试时,测试用例会作为 Client 端,将需要执行的页面操作请求以 Http Request 的方式发送给 Remote Server。该 HTTP Request 的 body,是以 WebDriver Wire 协议规定的 JSON 格式来描述需要浏览器执行的具体操作。
  3. Remote Server 接收到请求后,会对请求进行解析,并将解析结果发给 WebDriver,由 WebDriver 实际执行浏览器的操作。
  4. WebDriver 可以看做是直接操作浏览器的原生组件(Native Component),所以搭建测试环境时,通常都需要先下载浏览器对应的 WebDriver。

环境搭建

参考环境搭建步骤

元素定位

参考元素定位

基本使用

参看基本使用

案例演示

已云课登录为例, 记录每一步操作即可完成一个登录流程

1.脚本

python 复制代码
*** Settings ***
Library           Selenium2Library

*** Test Cases ***
云课正常登录用例1
    open browser    https://staging.shiyanlou.com/    gc
    Click Element    //a[text()='登录']    # 点击登录
    Click Element    //span[text()='手机登录']    # 选择手机登录
    input text    //input[contains(@placeholder,'请输入手机号码')]    15220211209    # 输入手机号
    input text    //input[contains(@placeholder,'请输入密码')]    123qweasdzxc    # 输入密码
    Click Element    //button[@type='button']    # 点击登录
    sleep    2
    # 判断是否有弹窗
    ${a}    Run Keyword And Return Status    Page Should Contain    立即领取
    log    ${a}
    Run Keyword IF    ${a}=='True'    Click Element    //img[@class='close-btn']
    # 判断是否登录成功
    Page Should Contain Element    //div[@class='user-info']
    close all browsers

2.查看执行结果:

3.查看日志


相关推荐
东方不败之鸭梨的测试笔记9 个月前
RobotFramework测试框架(13)--扩展RF
robotframework
明月与玄武10 个月前
RF 框架实现企业级 UI 自动化测试
robotframework
好的!文西1 年前
Mac robotframework+pycharm运行suite报错情况:ImportError: No module named request
ide·macos·pycharm·测试·robotframework
北极之熊熊1 年前
05 robotFrameWork+selenium2library 一维数组的使用
自动化·robotframework
搬砖,攒路费1 年前
RobotFramework流程控制(最新版本)
自动化测试·robotframework