RF之条件判断、初始化清除-4

条件判断:

       rf中用run keyword if 关键字做条件判断,以此来达到类似在python中if ...else...条件判断的功能。

注意:ELSE IF一定都是大写的,不然运行后会报错。

       RF中解决太长的问题:可以用下一行 前面加三个省略号,在测试用例中,下一行的省略号前面必须留一个以上的空单元格。

*** Test Cases ***

条件判断1

[Documentation]       run keyword if     需要注意的是:语法严格 in  左右只能一个空格  多了会报错

${status}=                  set variable                abcd

run keyword if            ‘bc‘ in ${status}          log to console        bc包含在abcd里面

条件判断2

[Documentation]      if  ...else...  分支

${status}=                  set variable                abcde

run keyword if            ‘cd‘ in ${status}          log to console       cd包含在abcde里面

...    ELSE                   log to console           cd没有包含在abcde里面

条件判断3

[Documentation]    if ...else if...else...   分支

${‘status‘}=                  set variable                  rrrr

run keyword if             ‘${status}‘ == ‘tttt‘         log to console     1

...     ELSE IF              ‘${status}‘ == ‘rrrr‘        log to console      2

...     ELSE                   log to console              3

else分支:在老版本的RF中,是没有else分支的,只能通过run keyword unless来达到目的。

run keyword unless和上面的run keyword if没有任何关系,可单独使用。

条件判断4

[Documentation]     else分支   run keyword if unless

${html}=     set variable        2019-12-02 UTC

run keyword if       ‘2019‘ in ‘$html and ‘UTC‘ in $html

...        log to console     是2019年的时间 UTC

run keyword if unless      ‘2017‘ in ‘$html and ‘UTC‘ in $html

...        log to console      不是2019年的时间 UTC

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

循环语句:

        RF中循环只有for循环

Exit For Loop关键字实现break功能  ------- 完全结束循环

用Continue For Loop实现continue 功能   -------- 终止本次循环

也可以使用等价的关键字 Continue For Loop If    Exit For Loop If

*** Test Cases ***

循环里的判断1

${weight}=     get value from user    请输入你的体重    60

log to console       体重为${weight}

run keyword if       int($weight)>60      log to console    太重了

...      ELSE          log to console        太轻了    

循环里的判断2

:for    ${one}    in range     99999

\      ${weight}=     get value from user     请输入你的体重    60

\      run keyword if     $weight==‘over‘       Exit For Loop

\      run keyword if     $weight==‘cont‘       continue for loop

\      run keyword if     int($weight)>60        log to console      太重了

\  ...     ELSE        log to console          太轻了

为了简洁简化,还可以这样写:

exit for loop if                 $weight==‘over‘

continue for loop if         $weight==‘cont‘

evaluate的使用:

evaluate关键字的参数为python的表达式,有的表达式需要引入模块,有的不需要模块默认不引入模块

*** Test Cases ***

${var1}=       create list             hello,world

${var2}=       evaluate              ‘hello world‘[:4]

${var3}=       evaluate               {‘hello‘, ‘world‘}

${var4}=       evaluate               [‘hello‘]*10

${var5}=       evaluate               math.fool(-2)         modules=math

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

初始化和清除:

是测试一个用例之前要做的事情(setup)和测试后要做的事情(teardown)。

在RF中,每个测试套件目录、测试套件文件、测试用例都可以有自己的setup的teardown。

所有的setup和teardown操作都只能由一个关键字语句构成。

初始化和清除写在测试用例表的配置项中:

*** Test Cases ***

test1

[Documentation]        初始化和清除

[Setup]             log to console            *******前置********

log to console                  测试用例1主体部分

[Teardown]      log to console             *******后置********

test2

[Documentation]       初始化和清除

log to console                测试用例2主体部分

测试套件文件的setup、teardown:

写在测试套件文件的settings表中

两种类型:   - Suite setup/teardown     进入和退出这个suite执行用例前后必须执行且只分别执行一次

- Test setup/teardown       如果suite内的用例本身没有setup/teardown, 才执行

*** Settings ***

Suite Setup       log to console        -----测试套件的前置------

Suite Teardown      log to console        -------测试套件的后置--------

Test Setup          log to console          -------前置--------

Test Testdown      log to console        --------后置--------

测试套件目录的setup、teardown:

在其目录下的初始化文件__int__.txt 或者__init__.robot里的settings表中

两种类型:   - Suite setup/teardown      进入和退出suite执行用例前后必须执行且分别执行一次

- Test setup/teardown        如果suite内的用例或者子套件  本身没有setup/teardown ,才执行

*** Settings ***

Suite Setup    log to console       -------测试套件的前置----------

Suite Teardown    log to console         ---------测试套件的后置----------

Test Setup        log to console       -----------前置----------

Test Teardown     log to console        ---------后置----------

目录下的文件执行方法:

可以在终端,如:robot  suite1\st1.robot

robot --suite st1 suite1

如果只想执行文件中的某个具体的用例,怎么执行?

robot --test 测试1 suite1

原文地址:https://www.cnblogs.com/peipei-Study/p/12072739.html

时间: 2024-11-07 16:15:38

RF之条件判断、初始化清除-4的相关文章

05:robotframework条件判断、初始化清除与evaluate

01:条件判断 RF中用Run Keyword if  关键字做条件判断 条件表达式参数给python的eval函数 run keyworld if ‘2019’ in $html  log to  console 内容 参数放在下一行 run keyword if  ‘2019’ in $html and  'UTC' in $html ...                        log to console   \n 2019年的,UTC时间 *** Test Cases ***

Bourne Shell中的条件判断

条件判断是一个程序获得智能的基础,而Bourne Shell脚本则通过命令 [ 来模拟大多数编程语言中的条件表达式. shell中支持的控制结构有: (1) if then else fi (2) for in do done (3) while do done 第二种主要用于遍历,可能不需要条件判断,其它两种则免不了和 [ 命令共同使用了.下面讲解这个命令如何模拟条件表达式. 文件/目录判断[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 FI

[Shell]条件判断与流程控制:if, case, for, while, until

-------------------------------------------------------------------------------------------------------- [条件判断] 1. 按文件类型进行判断 -b 文件    判断该文件是否存在,并且为块设备文件(是块设备文件为真) -c 文件    判断该文件是否存在,并且为字符设备文件(是字符设备文件为真) -d 文件    判断该文件是否存在,并且为目录文件(是目录为真) -e 文件    判断该文

Python_条件判断和循环

条件判断和循环 author:lxy 条件判断让计算机自己选择做什么 循环让计算机做重复的工作 条件判断: if ...elif....else.... if <判断条件>: <语句块> elif <判断条件>: <语句块> else: <语句块> 说明: 用法感觉和Java没什么不同吧,除了语法写起来有限不一样 注意每一个判断条件之后和else加: elif 是else if是简写 判断条件可以简写,比如if x:只要x是非零数值.飞空字符串.

Bash条件判断

bash编程之:条件判断,判定后续操作的前提条件是否满足, bash编程之: 条件判断常用类型: 整数测试:比较两个整数谁大谁小,是否相等: 二元测试: num1 操作符 num2 -eq: 等于 -ne: 不等于 -le:小于等于 -ge:大于等于 -lt:小于 -gt: 大于 字符测试:比较两个字符串是否相等: 双目录 >:          大于 <:          小于 ==:             等于,等值比较 =~:             左侧是字符串,右侧是一个模式,判

Linux shell的条件判断、循环语句及实例

shell条件判断的两个特殊设备 /dev/null linux系统的空设备,也称为位桶,任何写入其中的数据均会被丢弃当你不想将标准化输出显示或者保存至文件时可以将文件从定向到/dev/null 禁止标准化输出 cat $filename > /dev/null 禁止标准化错误 rm $filename > /dev/null /dev/zero Linux的输入设备,可以用他初始化文件,可以无限制输出0, 另一个作用是用0去填充一个指定大小的文件 在条件判断语句中&&表示an

Linuxshell脚本之if条件判断

IF条件判断 1.基本语法:if [ command ]; then符合该条件执行的语句fi2.扩展语法:if [ command ];then符合该条件执行的语句elif [ command ];then符合该条件执行的语句else符合该条件执行的语句fi 3.语法说明:bash shell会按顺序执行if语句,如果command执行后且它的返回状态是0,则会执行符合该条件执行的语句,否则后面的命令不执行,跳到下一条命令.当有多个嵌套时,只有第一个返回0退出状态的命令会导致符合该条件执行的语句

BASH编程基础之变量、条件判断

一.前言 在linux中,通常我们所指的脚本编程,指的是bash的脚本编程. bash作为一种过程式的编程语言来说,它应该具备编程语言所应该具备的基本元素,即:变量,流程,函数,数组.今天我们介绍变量以及流程之一的条件判断. 二.变量 1.初识变量 在编程语言中,编程语言有两大种,强类型语言和弱类型语言. 强类型语言中,要求变量的使用要严格符合定义,所有变量都必须先定义后使用.java..NET.C++等都是强制类型定义的. 与其相对应的是弱类型语言:数据类型可以被忽略的语言.它与强类型定义语言

hell脚本编写 之 条件选择,条件判断,循环语句

1 概述 编写shell脚本,一般离不开条件选择,条件判断以及循环语句.掌握这三个语法,将大大提高脚本的编写效率,使得脚本编写更加灵活,完成X相对复杂的工作 2 条件选择if语句 if语句选择执行,逐条件进行判断,第一次遇为"真"条件时,执行其分支,而后结束整个if语句 if是根据判读条件的命令的退出状态来执行命令,if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分