美文网首页
RF 条件判断、初始化与清除

RF 条件判断、初始化与清除

作者: 清水秋香 | 来源:发表于2020-04-07 14:47 被阅读0次

条件判断
RF里面除了循环以外,另一个流程控制的基本功能就是条件判断
RF中通常用Run Keyword if 关键字来达到累屎Python中if...else...条件判断的功能

image.png
  • 第一个参数condition是条件表达式(python表达式),条件表达式参数给python的eval函数。
  • 第二个参数name是一个关键字就是条件满足的时候要执行的关键字,并且只能执行一个关键字
  • *args就是关键字的参数
    RF中解决太长的问题,可以用下一行前面加三个点的省略号,在测试用例中
    同样rf语法也支持else分支,与if嵌套,⚠️rf中for循环是不能进行嵌套的
    ${res}  getwebinfo
    run keyword if  "2020" in $res and 'Apr' in $res
    ...  log to console  通过

    run keyword if  "202dfsff" in $res or 'fs' in $res
    ...  log to console  通过
    ...  ELSE IF  '2020' in $res  log to console  xxxx
    ...  ELSE  log to console  没有

    #for 循环不支持嵌套,但是if语句支持嵌套
    run keyword if  "2020" in $res
    ...  run keyword if  'UTC' in $res  log to console  进入里面的循环

循环里的判断
RF中没有while,只能一个大的range
Exit For Loop 关键字实现break功能
用Continue For Loop 关键字实现continue功能,
也可以使用等价的关键字
Continue For Loop If
Exit For Loop If

  :FOR  ${i}  in range  99
        \  ${score}  get value from user  请输入成绩
        \  run keyword if  $score == "contiue"  continue for loop
        \  run keyword if  $score == 'exit'  exit for loop
        \  run keyword if  int($score) > 60   log to console  及格了
        ...  ELSE  log to console  不及格

    :FOR  ${i}  in range  99
        \  ${score}  get value from user  请输入成绩
        \  continue for loop if  $score == "contiue"
        \  exit for loop if  $score == 'exit'
        \  run keyword if  int($score) > 60   log to console  及格了
        ...  ELSE  log to console  不及格

evaluate
在python里面调用eval执行的关键字有:should be true 和 run keyword if
evaluate关键字:直接用python代码表达式来生成一个结果

${var}  Create List  hello  word
等价于
${var}  evaluate  ['hello','word']

setup和teardown
setup是测试一个用例(或者套件)前要做的事情,
teardown是测试后要做的事情。

  • 在RF中,每个测试套件目录、测试套件文件、测试用例都可以有自己的setup和teardown
  • 所有的setup和teardown操作都只能有一个关键字语句构成
    测试用例的setup、teardown
    每个测试用例都可以有自己的setup和teardown。
    用例的初始化、清除、写在测试用例表的配置项中,也就是方括号部分、
[Setup]   log to console  生成用例2所需数据
[Teardown]  log to console  清除用例2产生数据
${var}  create list  hello  word
append to list   ${var}   a  b  c
log to console   ${var}

测试套件文件的setup、teardown
除了测试用例,测试套件也有初始化清除。
有的操作是针对一个套件里面的所有的用例的,而且只需要做一次
测试套件文件有两种类型的setup和teardown
一个是Suite setup/teardown,一个是 Test setup/teardown
Suite setup/teardown进入和退出这个suite执行用例前后必须执行且只分别执行一次
Test setup/teardown如果suite内的用例本身没有setup/teardown,才执行

#初始化和清除都会遵守一个原则就是那个近就用哪个
#为何需要套件级别的初始化和清除 10条测试用例,用户名和密码,如果不用套件级别的就需要每运行一个用例就执行一遍初始化和清除,用例执行效率会下降
#在做初始化清除的时候套件里面的所有用例所依赖的数据环境是一样的,就可以把生成数据的动作放在套件里面,但是套件里面产生的数据不能对其他套件产生干扰所以就要
#在当前套件执行完之后把数据清除掉
Suite Setup  log to console  产生套件一所需数据
Suite Teardown  log to console  清除套件一产生数据
#用例中没有初始化和清除,就会使用"默认的"
Test Setup  log to console   ---Test setup
Test Teardown  log to console  ---Test teardown

测试套件目录的setup、teardown
测试套件目录也可以有初始化和清除。
测试套件目录的setup teardown 在其目录下的配置文件__ init__.txt或者 __ init__.robot 里的settings表里
也有两种类型的setup和teardown
一个是Suite setup/teardown,一个是 Test setup/teardown
Suite setup/teardown进入和退出这个suite执行用例前后必须执行且只分别执行一次
Test setup/teardown如果suite内的用例或者子套件本身没有setup/teardown,才执行

image.png
  • robot -s s5 day3 指定执行哪些子套件
  • robot -t test day3 指定执行测试套件目录下用例名称为test的所有用例

相关文章

  • RF 条件判断、初始化与清除

    条件判断RF里面除了循环以外,另一个流程控制的基本功能就是条件判断RF中通常用Run Keyword if 关键字...

  • Robot Framework10-RF初始化和清除

    RF里面除了循环以外,另一个流程控制的基本功能就是条件判断。本篇将对RF初始化和清除进行展开讲解,主要包括“Set...

  • Robot Framework08-RF条件判断

    RF里面除了循环以外,另一个流程控制的基本功能就是条件判断。本篇将对RF条件判断进行展开讲解,主要包括“条件判断,...

  • git常用命令

    初始化:git init克隆:git clone http:...清除初始化已存在:rm -rf .git添加到暂...

  • go语言学习笔记

    一、条件判断 if 1、条件判断 2、初始化; 条件判断 比较有特色的是go的if支持初始化语句的执行。 可以减少...

  • JAVA与js知识对比(三)

    js 循环 while do……while for 结构样式: for (初始化;判断条件;改变判断条件){ 执行...

  • Java学习 Day4

    1.for循环:先判断后执行,并且循环次数固定 语法:for(初始化条件;判断条件;控制条件){ 循环体; } 执...

  • for循环,while循环,do while循环

    1.for循环:先判断后执行,并且循环次数固定 语法:for(初始化条件;判断条件;控制条件){ 循环体; } 执...

  • Robot Framework 条件判断

    Run Keyword If RF 里面除了循环以外,另一个流程控制的基本功能就是条件判断,RF 中通常用 Run...

  • Day3 while和for循环

    while(判断条件){运算条件;} for(初始化参数;循环条件;表达式)运算条件; while 循环循环条件判...

网友评论

      本文标题:RF 条件判断、初始化与清除

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