RobotFramework 自动化测试实战基础篇

RobotFramework 简介和特点

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

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

工作原理

RobotFramework 自动化测试实战基础篇_第1张图片

  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.脚本

RobotFramework 自动化测试实战基础篇_第2张图片

*** 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.查看执行结果:

RobotFramework 自动化测试实战基础篇_第3张图片

3.查看日志

RobotFramework 自动化测试实战基础篇_第4张图片
RobotFramework 自动化测试实战基础篇_第5张图片

你可能感兴趣的:(RobotFramework,RobotFramework)