hand_有来有去
不要用肉体的勤奋,去掩盖思考的懒惰

Robot Framework 入门教程

1 环境搭建

1.1 python安装

安装python 3.7版本

1.2 robot framework安装

# Install the latest version (does not upgrade)
pip install robotframework

# Upgrade to the latest version
pip install --upgrade robotframework

# Install a specific version
pip install robotframework==4.0.3

# Install separately downloaded package (no network connection needed)
pip install robotframework-4.0.3.tar.gz

# Install latest (possibly unreleased) code directly from GitHub
pip install https://github.com/robotframework/robotframework/archive/master.zip

# Uninstall
pip uninstall robotframework

1.3 IDE编辑器安装

1.3.1 RIDE

pip install robotframework-ride==1.7.4.1

1.3.2 Pycharm配置

Plugins 安装

​ 菜单左上角点击 File>> Settings… 进入配置界面;
进入Settings后,选择Plugins,在搜索栏输入intelliBot,安装后重启

Robot Framework 的文件类型识别配置

​ 点击File>> Settings,选择Editor >> File Types ,在列表栏中找到 Robot Feature 选中,再点击右边栏上的加号,添加支持类型,分别添加 *.txt 和 *

suite和case的执行配置

​ 在我们在执行脚本时,可以单独执行一个case,也可以执行case的集合:suite(测试套),所以我们这里要做两个配置。

还是打开Settings,选择External Tools,点击加号,添加可执行配置。

  • 配置single Test case的执行

    Name:Robot Run SingleTestCase

    Arguments:-d results -t "$SelectedText$" $FileName$

    Working directory:$FileDir$

  • 配置suite Test cases的执行

    Name :Robot Run TestSuite

    Arguments:-d results $FileName$

    Working directory:$FileDir$

2.语法基础

2.1Test Cases and Test Suites

用例格式

*** Settings ***
Documentation     Example using the space separated format.
Library           OperatingSystem
Suite Setup       Login
Suite Teardown    DeleteDirtyData


*** Variables ***
${MESSAGE}        Hello, world!

*** Test Cases ***
My Test
    [Documentation]    Example test.
    Log    ${MESSAGE}
    My Keyword    ${CURDIR}

Another Test
    Should Be Equal    ${MESSAGE}    Hello, world!

*** Keywords ***
My Keyword
    [Arguments]    ${path}
    Directory Should Exist    ${path}

Suite Setup|Suite Teardown:每个测试套件执行一次,无论这个套件包含多少测试用例

Test Setup|Test Teardown:测试套件的每一个用例都执行一次

2.2 Library

标准库和扩展库、自定义库

*** Settings ***
Library    OperatingSystem
Library    my.package.TestLibrary
Library    MyLibrary    arg1    arg2
Library    ${LIBRARY}

2.3 Variables

Robot Framework自定义变量

  • $

    • 不只是字符串,任何对象实例都可以付给标量变量,比如list、dict
  • @

    • 标量变量${EXAMPLE}, 值以"as-is"的方式被直接使用
    • 列表变量@{EXAMPLE}, 单个的list item被分别传递给关键字
  • &

操作系统环境变量

${PATH}

2.4 Keywords

  • ride按F5

  • keyword文档

  • 查看源码

2.5 Template

2.6 Resource and variable Files

2.7 Executing test cases

基本命令

robot tests.robot
robot my_tests.robot your_tests.robot
robot path/to/my_tests/
robot c:\robot\tests.robot

带参数的命令

robot --include smoke --variable HOST:10.0.0.42 path/to/tests/
robot -i somoke -d report --v HOST:10.0.0.42 path/to/tests/

参数含义:

-i 执行指定tag标签的用例

-d 指定报告存放的目录

-v 指定参数的值

-V 指定参数文件

3.接口自动化篇

3.1 RequestsLibrary

  • create session
  • post on session
  • get on session
create session   interface    ${URL_PREFIX}    headers=${headers}

3.2 Collections

3.3 BuiltIn

3.4 OperatingSystem

3.5 JSONLibrary

3.6 DataDriver Library

3.7 DateTime

UI自动化篇

posted on 2021-12-28 13:48  hand_有来有去  阅读(1030)  评论(0)    收藏  举报