美文网首页
RF用户关键字和资源文件

RF用户关键字和资源文件

作者: 清水秋香 | 来源:发表于2020-04-08 12:21 被阅读0次

用户关键字

  • 什么是用户关键字
    RF中像编程语言中函数概念的东西,就是用户关键字,用户关键字就像RF中的函数
    keywords表就是定义用户关键字的

定义使用用户关键字

支持返回值

#使用用户关键字
*** Test Cases ***
case1
    ${list}  getvar1
    log to console  ${list}

#定义用户关键字
*** Keywords ***
getvar1
    ${var}  evaluate  [i for i in range(10)]
    #return 也可以写在前面,原因是rf会先读取配置项,类似一个预编译的动作
    [Return]  ${var}

支持参数的传递

*** Test Cases ***
test
    addCourse  robot  自动化  1
*** Keywords ***
#要想放入形参如何做呢,类似与写[Setup] [Teardown],这里声明的是[Arguments]
addCourse
    [Arguments]  ${name}  ${desc}  ${idx}
    click element  css=.btn-md
    input text  xpath=//input[@ng-model="addData.name"]  ${name}
    input text  xpath=//*[@ng-model="addData.desc"]  ${desc}
    input text  xpath=//*[@ng-model="addData.display_idx"]  ${idx}
    click element  xpath=//*[@ng-click="addOne()"]
    sleep  1

资源文件
资源文件就是RF层面的库文件,里面可以包含用来共享的用户关键字。
也可以包含前面说的 Variable定义的变量
资源文件的格式基本和测试套件文件类似,
除了不能有测试用例表和一些特别的设置项
在setting表里用Resource声明资源文件
资源文件声明的时候一定要带扩展名(不像库文件)

*** Settings ***
Resource  rc.robot

一些库的导入也可以放在rc.robot中,以下为rc.robot中的Settings。
但凡引用了rc.robot资源文件,都会引入资源文件里导入的库

*** Settings ***
Library  deletecourse
Library  SeleniumLibrary
Library  Collections

RF搜索资源文件:
使用相对路径的时候,RF搜索资源文件的规则是:

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

RF数据驱动
资源文件

*** Settings ***
Library  deletecourse
Library  SeleniumLibrary
Library  Collections

#资源文件不可以包含测试用例表
*** Keywords ***
#要想放入形参如何做呢,类似与写[Setup] [Teardown],这里声明的是[Arguments]
open
    open browser  http://localhost/mgr/ps/mgr/index.html  chrome
    set selenium implicit wait  10
addCourse
    [Arguments]  ${name}  ${desc}  ${idx}
    click element  css=.btn-md
    input text  xpath=//input[@ng-model="addData.name"]  ${name}
    input text  xpath=//*[@ng-model="addData.desc"]  ${desc}
    input text  xpath=//*[@ng-model="addData.display_idx"]  ${idx}
    click element  xpath=//*[@ng-click="addOne()"]
    sleep  1
checkCourse
    [Arguments]   ${check}
    ${list}  create list
    ${eles}  get webelements  xpath=//tbody/tr/td[2]/span
    :FOR  ${one}  in  @{eles}
        \  log to console  ${one.text}
        \  append to list  ${list}  ${one.text}
    should be true  $check in $list
close
    close browser

python+selenium 清除环境干扰

这段代码放在循环中driver.find_elements_by_xpath('//button[@ng-click="delOne(one)"]')是为了防止获取陈旧元素,每一次删除前端都会向后端重新申请数据,这时我门如果不重新获取要点击的元素,就会拿到陈旧的元素,代码会报错

from time import sleep

from selenium import webdriver


def deleteAllCourse():
    driver = webdriver.Chrome()
    driver.get('http://localhost/mgr/ps/mgr/index.html')
    driver.implicitly_wait(5)
    while True:
        sleep(2)
        delete_button = driver.find_elements_by_xpath('//button[@ng-click="delOne(one)"]')
        if delete_button:
            delete_button[0].click()
            driver.find_element_by_css_selector('.btn-primary.btn').click()
        else:
            break


if __name__ == '__main__':
    deleteAllCourse()

数据驱动文件

*** Settings ***
Resource  ./rf作业3/rc.robot
Library   ./rf作业3/deletecourse
*** Test Cases ***
#如果有大量的数据这种方式显然不现实
test2
    [Setup]  deleteAllCourse
    [Teardown]  deleteAllCourse
    [Template]  addcourseandcheck
    robot  1  1
    seleniumm  2  2
    jemeter  3  3

*** Keywords ***
addcourseandcheck
    [Arguments]  ${name}  ${desc}  ${idx}
    open
    #调用的时候要加上
    addCourse  ${name}  ${desc}  ${idx}
    checkCourse  ${name}
    close

相关文章

  • RF用户关键字和资源文件

    用户关键字 什么是用户关键字RF中像编程语言中函数概念的东西,就是用户关键字,用户关键字就像RF中的函数keywo...

  • Robot Framework11-RF用户关键字和资源文件

    对于可以复用或者有相同逻辑的代码我们如何解决呢?最好的办法就是封装,那么RF是否可以封装成不同的关键字呢?这将是本...

  • RF 关键字、变量与循环

    关键字的使用RF的能力是由关键字提供的,所以我们必须对RF的常用关键字有个了解,这样才能把RF用好常用的RF关键字...

  • Robot Framework - Variable file

    RF导入变量文件 在Setting中导入 Setting中导入变量文件时,和导入外部资源文件类似。变量文件的路径可...

  • Robot Framework 关键字、

    到哪里查找关键字 RF 的能力是由关键字提供的,所以,我们必须对 RF 的常用关键字有个了解,这样才能把 RF 用...

  • Mac终端常用指令

    $ touch:新建文件 $ rm:删除文件 $ rm -rf:删除文件夹 $ ssh 用户名@用户服务器地址:s...

  • [Robot Framework]用户关键字/资源/setup/

    1、用户自定义关键字: 调用函数循环打印 2.调用关键字,返回和值。 3、资源如果多了,可以建立资源放置关键字 4...

  • Robot Framework 小练习目录结构

    新增一个用例2初始化清除工作,包括关键字的实现 在RF资源文件中实现 我们要求和以前的用例放在不同的测试套件目录中...

  • 2018-05-07 阶梯书包数据库设计,接口设计

    表设计:用户购买书包多对多,书包和资源多对多,一个资源对应对多文件表,用户文件表多对多记录观看文件,用户已读资源多...

  • 2021-10-16

    苹果系统的资源库文件夹 苹果系统的资源库文件夹用于组织、管理用户和系统资源,为用户提供系统和应用程序辅助资源。 一...

网友评论

      本文标题:RF用户关键字和资源文件

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