美文网首页
Robot Framework 资源文件

Robot Framework 资源文件

作者: 自如_ | 来源:发表于2019-07-18 19:41 被阅读0次

资源文件

  • 在测试套件文件中定义关键字的问题
    • 只能在本测试套件中使用,无法共享给其它测试套件。只能在本测试套件中是有效的。

我们怎么共享这个东西呢?使用 资源文件

资源文件其实就是 RF 层面的库文件。 里面可以包含用来共享的 用户关键字。也可以包含前面说的 Variable 表定义的变量,资源文件的格式基本也和测试套件文件类似 ,除了不能有测试用例表 和 一些特别的设置项。其它的都是跟普通的测试套件文件一样的。如果它有 Test Case 那它就是一个正常的测试套件文件,而不是资源文件了。

*** Settings ***
Library  SeleniumLibrary
Resource  rc.robot

所以我们就可以直接把我们前面定义好的 Keywords 里面的关键字直接放到我们的资源文件里面,大家就可以共享了,我们这边创建一个资源文件 rc.robot

image.png

这个里面我们就可以把前面除了测试用例之外全部拷贝下来。

*** Settings ***
Library  SeleniumLibrary
Library  Collections

*** Keywords ***
loginwebsite
    [Arguments]  ${username}  ${password}
    OPEN BROWSER  http://localhost/mgr/login/login.html  chrome
    set selenium implicit wait  10

    INPUT TEXT  id=username  ${username}
    INPUT TEXT  id=password  ${password}
    click element  tag=button
add course
    [Arguments]  ${name}  ${desc}  ${idx}
    click element  css=*[ng-click="showAddOne=true"]
    INPUT TEXT  css=*[ng-model="addData.name"]  ${name}
    input text  css=*[ng-model="addData.desc"]  ${desc}
    input text  css=*[ng-model="addData.display_idx"]  ${idx}
    click element  css=*[ng-click="addOne()"]
    sleep  1
get course list
    ${lessons}=  create list
    ${eles}=  get webelements  css=tr>td:nth-child(2)
    :For  ${ele}  in  @{eles}
    \  log to console  ${ele.text}
    \  append to list  ${lessons}  ${ele.text}
    [Return]  ${lessons}

Library st 用不到可以去掉。资源文件里面的 Keywords 我们可以把它捞出来,然后我们t1.robot里面的 Keywords 就可以删掉了,那如果我想用这几个资源文件里面的东西,应该怎么引用?Robot 里面该怎么用?我们可以通过 Resource 不叫 Library 了。

*** Settings ***
Library  SeleniumLibrary
Library  st
Library  Collections
Resource  rc.robot

*** Test Cases ***
测试1
    [Setup]  deleteAllCourse
    loginwebsite  auto  sdfsdfsdf
    add course  初中化学  初中化学描述  5
    ${lessons}=  get course list

    should be true  $lessons==["初中化学"]
    close browser
    [Teardown]  deleteAllCourse
测试2
    [Setup]  deleteAllCourse
    loginwebsite  auto  sdfsdfsdf
    add course  化  化描述  6
    ${lessons}=  get course list

    should be true  $lessons==["化"]
    close browser
    [Teardown]  deleteAllCourse

资源文件声明的时候可以用相对路径也可以用绝对路径。建议大家用相对路径,它又一个特点要带上扩展名 .robot

Robot 里面它搜索资源文件的路径有一个规则。

  • 搜索规则

    • 首先相对搜索当前文件的目录匹配搜索,
    • 如果找不到,就在Python的模块搜索路径中搜索

相关文章

网友评论

      本文标题:Robot Framework 资源文件

      本文链接:https://www.haomeiwen.com/subject/nnlclctx.html