美文网首页
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