Robot Framework自动化测试

Robot Framework自动化测试四

2018-01-20  本文已影响82人  我为峰2014

Edit 标签

下面我们来看一看测试项目和测试套件所提供的 Edit 标签。
从而“测试项目”和“测试套件”所提供的 Edit 标签的功能也可看出两者是一样的。

image.png

在 Edit 标签页中主要分:加载外部文件、定义内部变量、定义元数据等三个部分。

(1):加载外部文件
Add Library:加载测试库,主要是[PYTHON 目录]\Lib\site-packages 里的测试库
Add Resource:加载资源,主要是你工程相关的资源文件
Add Variables:加载变量文件。

(2):定义内部变量
Add Scalar:定义变量
Add List:定义列表型变量

(3):定义元数据
Add Metadata:定义元数据。我是直接翻译的,这个是新增加的部分,大概看了一下作用是在 report
和 log 里显示定义好的内容,格式和 document 一样。

导入库

robot framework的基础关键字封装在Builtin库中默认加载,它里面包含了一些最基础的关键字。

例如:打印,定义变量,定义数组,时间,分支语句,循环语句,调用python模块等等,

其他基础库:Dialogs,Collections,OperatingSystem,Remote,Screenshot,String,Telent,XML,Process,DataTime

利用RIDE手动加载

在测试套件,点击library,数据库的名称

image.png

加载成功,是黑色的,加载失败,字题会变红色说明没有这个库,要好好检查,不要拼写错误

image.png

我们通过F5,选择加载的Screenshot库来查询关键字

image.png

在python3.x的用户,我们也可以使用sublime的插件来导入库

我们在Settings下面写入要导入的库

*** Settings ***
Library           Screenshot
*** Test Cases ***
testcase1
    ${a}    Set variable    hello world
    LOG    ${a}

testcase2
    ${hi}    Catenate    SEPARATOR=---    hello    word
    log    ${hi}

testcase3
    @{abc}    Create List    a    b    c
     logmany    @{abc}

testcase4
    ${t}    get time    hello word
    sleep    5
    ${t}    get time    hello word

testcase5
    ${a}    Set variable    59
    run keyword if     ${a}>=90    log    优秀
     ...     ELSE IF     ${a}>=70    log    良好
     ...     ELSE IF     ${a}>=66    log    及格
    ...    ELSE    log    不及格

testcase6
    @{abc}    create list    a    b    c
    :FOR    ${i}    in    @{abc}
    \    Exit For Loop If    '${i}'=='c'
    log    ${i}

testcase7
    ${d}    Evaluate    random.randint(1000, 9999)    random
    log    ${d}

我们使用pybot命令执行测试套件可以使用--test来具体指定执行的测试case

pybot --test case1 [测试套件名称]

导入资源

点击 Edit 标签页右侧的“Resource”按钮来添加资源。这个资源一般为项目关的文件。比如,项目的自定义关键字文件。

我们在项目右键,创建一个资源,注意名称要写全

image.png

然后,我们可以在测试套件中引用创建的资源

image.png

关于添加资源的作用域与库一样。我这里是添加到的测试套件中,那么它的作用域就是当前测试套件下的所有用例。

定义变量

点击 Edit 标签页右侧的“Add Scalar”按钮来创建变量。这里创建的变量可以被整个测试套件中的用例所使用。也可以认为是一个“公共变量”。

image.png

Name 用于定义变量名:${hi}

Value 用于给变量赋值。这里赋值是一段话,“欢迎你第一次使用 Robot Framework。它的强大性和易用性相信会让你的测试工作变得更加简单可靠。”

下面就可以在测试用例中来使用这个变量

image.png

执行结果

Starting test: Test Pro.Test Demo.testcase8
20180120 20:34:19.171 :  INFO : 呵呵欢迎你第一次使用 Robot Framework。它的强大性和易
Ending test:   Test Pro.Test Demo.testcase8

定义列表变量

列表变量可以用来定义一维或二维数组。下面我们就来创建一个列表变量。点击 Edit 标签页右
侧的“Add List”按钮来创建变量

image.png

在测试用例中可以对这个一维数组进行遍历

image.png

执行结果

Starting test: Test Pro.Test Demo.testcase9
20180120 20:40:21.640 :  INFO : 小米
20180120 20:40:21.649 :  INFO : 小华
20180120 20:40:21.657 :  INFO : 小明
20180120 20:40:21.666 :  INFO : 小红
Ending test:   Test Pro.Test Demo.testcase9

Text Edit 标签

我们在 Edit 标签页完成的工作,都可以在 Text Edit 标签页上完成。它们之间是对应关系,Edit 可视化的提供的按钮输入框,对于用户来说更容易知道我要怎么做;而在 Text Edit 中只是一个空当当的文本,我们跟本不知道如何下手。

好在我们已经在 Edit 中做了很多事情。切换到 Text Edit 将会看到这些信息的展示。

image.png

Run

第一眼看上去,Run 标签提供了丰富的操作和日志。按照截图我们依次来说明 Run 标签上的按钮和输入框的作用:

  1. Execution Profile:选择运行方式,里面有 pybot、jybot 和 custom script。其中我们默认是用 pybot来运行案例,pybot 的运行 Python 编译器完成。jybot 需要安装 Jython 的支持。custom script 是选择自定义的脚本来运行。

  2. Start 和 Stop:用例的运行和停止。

  3. Report 和 Log:报告和日志,要运行之后才能点击。他们之间的区别:报告更多是结果上的展示,日志更多是过程的记录,在测试用例调试的过程中更多使用日志来查看执行错误。当只想知道测试用例的最终执行情况时用报告。

  4. Autosave:自动保存,如果不勾选,在修改了用例之后如果没有保存的话,运行案例时会提示是否保存。勾选则在运行时自动保存了。

  5. Arguments:pybot 的参数(或者 jybot 等),可以在这里输入 pybot 的命令完成相应的操作。

  6. Only Run Tests with these Tags:只运行这些标记的测试案例。

  7. Skip Tests with these Tags: 跳过这些标记的测试案例。

image.png

报告与日志

当用例运行结束,Robot Framework 生成三个文件:output.xml、log.html 和 report.html。

output.xml 记录的测试结果是 xml 文件,这个文件不够直观。根据特定的需要可以编写脚本读取 xml文件并生成特定的测试报告。

相比较而言 log.html 和 report.html 报告要直观得多,因为是 html 格式的嘛。

查看 log.html 文件,点击 Run 标签而上的“Log”按钮,通过默认浏览器打开。

report.html 用于最终结果的展示,适合了解测试用例的执行情况:测试了哪些模块,用例数、失败率等。

筛选执行用例

第一种:勾选用例

在要执行的用例前面打勾,这种方法最简单和直观,要运行哪条用例就勾选哪一条。如果全部不勾选,点击“运行”按钮会运行所有用例。

也可以在“测试套件”上右键选择:

对于一个测试套件下有几十上百个用例来说,这几选项将非常有用。

第二种:用命令

这就用到 Run 标签中的 Arguments 功能

image.png

在 Arguments 的输入框内输入“-t testcase4”。点击“Start”按钮,只执行了 test case4 这一条用例。

Arguments 能做的事情可不止于此。想了解更多多命令。可以在 cmd.exe 下执行“pybot.bat --help”。

第三种:筛选标记

这种方式就非常有意思的,对于不同的人来说会有一些标记,比如某富二代的标记就是“任性”。

对于用例来说也可以打上标记。比如“重要”、“一般”、“基础”等。
点击某个用例,你会看到“Setting>>”的按钮,点击按钮展开:

image.png

在下面将会看到“Tags”的选项,在“<Add New>”的输入框内输入“重要”。这条用例就打上了
“重要”的标记。

切换到 Run 标签,我要运行带“重要”标记的用例了就要用到:
Only Run Tests with these Tags:只运行这些标记的测试案例。
Skip Tests with these Tags: 跳过这些标记的测试案例。

上一篇 下一篇

猜你喜欢

热点阅读