Robot Framework常用语法

本文介绍RobotFramework中的变量标识、全局变量设置、时间获取、休眠时间设置、If语句及For循环等基本语法,并详细解释了Scalar与List型变量的区别及其使用方法。

Robot Framework常用语法

一:变量标识符号

(1) Scalar型变量:  "$"作为标识符号,例如:${var}, 这个打印log时只能用log

   set赋值:

   a: ${var} Set Variable abc

   b:${var2} Set Variable If  '${Var}'=='abc'  efgh   ace  如果var的值和abc相等,则efgh赋值给var2,不相等就赋值ace给var

   get赋值(主要用于返回值):

   a: ${getVal}  Get Length   ${var2}   获取var2值的长度

   b: ${getVal2} Get Time   获取时间

   使用方式

   a. 变量变为字符串: 01234${var}adv  不需要任何的其他符号

   b. 字符串截取:比如截取第三个字符串,${var[2]}; 如截取第第1个到第3个字符串,${var[0:3]}

   c.字符串变为整型:int(${var})

(2) List型变量:  "@"作为标识符号,例如: @{lvar},这个打印log时用log many

   赋值方式:

   a: Create List进行赋值(正式):@{var}   Create List  3 2 1

   b: Set Variable进行赋值(非正式):@{var}   Set Variable  3 2 1

   使用方式:

   a: 一维,获取list列表中的某个元素:方式1:@{uselist}[index];方式2:${uselist[index]}

   b: 二维,现有一维@{listA}和@{listB},组成二维必须是 @{listC}  Create List   ${listA}   ${listB}; A和B的list前面必须改为$,否则还是一维的;

                 获取二维中某元素,方式1:@{listC[index]}[index];方式2:${listC[index][index]}

(3)List和Scalar之间的相互转换

   List转化为Scalar

   List变量:@{List} 变量转为Scalar,那么直接写成${List}

   Scalar转化为List

   ${List}, 直接写成@{List}

   注意:在变量没有初始化之前,这样互换才可以,如果初始化或者赋值后,则互换的值是初始化的值,不再跟随变量的改变而改变

(4) 设置全局变量:Set Global Variable,当执行完这个后,这个变量的所有测试案列和测试套件都有效

(5) 特殊字符常量:${/}, ${:}, ${EMPTY}, ${False}, ${null}, ${None}, ${SPACE}, ${True}

(6)变量文件操作

   注:变量文件只支持Python写的.py文件

   变量文件可以在suite的Import的地方去引用这个文件

二:获取本地时间

    get time来获取本地时间

   例子:${val} gettime

三:设置休眠时间

    sleep以秒为单位

   例子: sleep 10,让程序10s后再继续进行

四:If 语句

   Run keyword if    elif     else

   例子:

   Run keyword if     判断条件     操作动作

   如果是多条件判断,需要在判断条件中使用AND连接,必须是大写

五:For循环

   (1). 老版本的ride使用

     :FOR  ${i}  Inrange 10   

      END

  (2). 新版本ride使用

      FOR   ${i} INRANGE 10

      END

  (3). 中断循环

      Exit For Loop If  判断条件

注意:不能循环中加循环体,但是可以把一个循环封装成关键字来执行

   (4)分支

Run keyword if   条件1    do action1

...  ELSE IF 条件2    do action2

... ELSE      do action

 

robotframework调⽤python类⽅法_(五)RobotFramework基 础。。。 上⼀⼩节,你已经感受到了 Robot Framework 的基本说法,这⼀⼩节你将会看到 Robot Framework 更多强⼤的⽤法。 if 语句 通过 "run keyword if" 关键字可以编写 if 分⽀语句。 *** Test Cases *** test case8 ${a} Set variable 59 run keyword if ${a}>=90 log 优秀 ... ELSE IF ${a}>=70 log 良好 ... ELSE IF ${a}>=60 log 及格 ... ELSE log 不及格 ⾸先定义变量 a 等于 59 。 If 判断 a ⼤于等于 90 ,满⾜条件 log 输出 "优秀 "; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 70 ,满⾜条件 log 输出 "良好"; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 60 ,满⾜条件 log 输出 "及格"; 上⾯的条件都不满⾜,else log 输出"不及格"。 注意 sele if 和 else 前⾯的三个点点点(...) for 循环 在 Robot Framework 中编写循环通过 ":FOR" 。 1、循环 0~9 。 *** Test Cases *** test case9 :FOR ${i} IN RANGE 10 \ log ${i} 通过":FOR"定义 for 循环;IN RANGE ⽤于指定循环的范围。 2、遍历列表。 *** Test Cases *** test case10 @{abc} create list a b c : FOR ${i} IN @{abc} \ log ${i} "create list" 关键字⽤来定义列表(a,b,c),"@{}"⽤来存放列表。通过过 ":FOR" 循环来来遍历@{abc}列表中的字符。 强⼤的 Evaluate 为什么说"Evauate"关键字强⼤呢。因为通过它可以使⽤ Python 语⾔中所提供的⽅法。 1、 ⽣成随即数 在 Python 中我们可以这样来引和并使⽤⽅法: C:\Users\fnngj> python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> random.randint(1000, 9999) 9777 random 模块的 randint()⽅法⽤于获取随机数。 在 Robot Framework 中使⽤ "Evauate" 也可以调⽤ Python 所提供的 random 模块下的 randint()⽅法。 *** Test Cases *** test case11 ${d} Evaluate random.randint(1000, 9999) random log ${d} 2、 调⽤⾃⼰编写的 Python 程序 ⾸先创建 D:/rf_test/count.py ⽂件。 def add(a,b): return a + b if __name__ == "__main__": a = add(4,5) print(a) 通过add函数实现两个数相加,这是再简单不过的⼩程序了。 下⾯就通过 Robot Framework 调⽤ count.py ⽂件中的 add()函数。 *** Test Cases *** test case12 Import Library D:/rf_test/count.py ${a} Evaluate int(4) ${b} Evaluate int(5) ${add} add ${a} ${b} log ${add} 在 Robot Framework 中所有的内容都是字符串类型,所以,需要通过 "Evaluate" 将 4 和 5 转化为 int 类型后,再调⽤ add 计算两个 数的和。 注释 Robot Framework 中添加注释也⾮常简单。"Comment" 关键字⽤于设置脚本中的注释。除此之外,你也可以像 Python ⼀样使 ⽤"#"号进⾏注释。 *** Test Cases *** test case13 Comment 这是注释 #这也是注释 如果你熟悉 Python 编程语⾔,那么 Robot Framework ⼏乎没有实现
Robot Framework语法是基于关键字驱动的,使用了自然语言和表格格式来编写测试用例和关键字。下面是 Robot Framework 的一些常用语法: 1. 文件结构: - Settings 部分:用于定义测试用例的设置,如导入的库、变量、标签等。 - Test Cases 部分:定义具体的测试用例。 - Keywords 部分:定义关键字,可供测试用例调用。 2. 注释: - 以 `#` 开头的行表示单行注释。 - 以 `***` 开头的行表示段落注释。 3. 关键字调用: - 关键字可以是已定义的内置关键字、导入的库提供的关键字,或者自定义关键字。 - 关键字可以带有参数,参数之间使用空格分隔。 - 关键字调用可以使用类似自然语言的语法,也可以使用表格格式。 4. 变量: - 变量使用 `$` 符号表示,如 `${VARIABLE}`。 - 变量可以在设置部分或测试用例中进行定义和赋值。 - 使用变量时,可以使用变量名或者 `${VARIABLE}` 形式。 5. 表格格式: - 使用 `*** Settings`、`*** Test Cases`、`*** Keywords` 来定义各个部分。 - 使用 `|` 符号来分隔单元格,创建表格。 - 表格中的每一行都是一个关键字调用或设置,每个单元格对应一个参数。 6. 控制结构: - IF/ELSE:使用关键字 `Run Keyword If` 或 `Run Keyword Unless` 来执行条件判断。 - FOR:使用关键字 `FOR` 来进行循环操作。 - WHILE:使用关键字 `WHILE` 来进行条件循环。 这只是 Robot Framework 的一部分语法规范,还有更多的语法细节和功能可以根据具体的测试需求进行学习和使用。建议参考官方文档或相关教程来深入了解 Robot Framework语法和用法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值