RF-测试目录以及库引用、变量使用
测试集目录和初始化文件
- 对于有多少个测试用例无上限,建议使用少于10个
初始化文件用法:
- 需共享变量或关键字,可将它们放入资源文件中,该文件通过初始化文件和测试用例文件导入。而不是直接放在初始化文件中
使用测试库
- 测试用例使用某个库中的关键字,来创建更高级别的用户关键字
导入库
- 方法一:使用Library导入库
设置表中Library设置导入测试库,随后列中使用库名称 - 方法二:Import Library导入库
使用Builtin库中关键字Import Library
标准库
- Builtin
- Collections
- DateTime
- Dialogs
- OperatingSystem
- Process
- Screenshot
- String
- Telnet
- XML
外部库
- SeleniumLibrary
- AppliumLibrary
- DatabaseLibary
- requests
实例
*** Settings ***
Library SeleniumLibrary
Library OperatingSystem
Library common_lib.py WITH NAME MycommonLib*** Test Cases ***
case01Import Library Collections
创建使用变量
使用场景
- 测试用例表和关键字表中的关键字参数中
- 变量可以分为三种:标量、列表和字典,语法分别是:${SCALAR},@{LIST},&{DICT}
创建变量
*** Variables ***
${url} http://www.baidu.com
${port} 8080
@{persons} tom kite rose
&{mydict} name=tom age=20 email=tom@gmail.com*** Test Cases ***
case01Log hello
访问变量
访问列表方式
通过索引访问(负索引可从末尾访问)
切片语法访问访问字典方式
n a m e [ k e y ] 或 {name}[key]或 name[key]或{name.key}访问环境变量方式
%{JAVA_HOME}
内建变量
操作系统变量
- ${CURDIR}:测试数据文件所在目录绝对路径
- ${TEMPDIR}:系统临时目录绝对路径
- ${EXECDIR}:测试执行开始目录绝对路径
- ${/}:系统目录路径分割符,UNIX系统中为/,Windows系统中为\
- ${:}:系统路径元素分割符,UNIX系统中为:,Windows系统中为;
- ${\n}:系统行分隔符,UNIX系统中为\n,Windows系统中为\r \n
数字变量
- 作用:用于创建整数和浮点数,获得实际数字而不是像数字的字符串作为参数
*** Test Cases ***
Example 1AConnect example.com 80Example 1BConnect example.com ${80}Example 2Do X ${3.14} ${-1e-4}
- 可使用0b,0o,0x前缀表示二进制,八进制和十六进制值创建整数
*** Test Cases ***
Example 1AShould Be Equal ${0b1011} ${11}Should Be Equal ${0o10} ${8}Should Be Equal ${0xff} ${255}Should Be Equal ${0B1010} ${0xa}
布尔和None/null变量
作用:表示为空,类似python none和java null
*** Test Cases ***
布尔Set Status ${true}Create Y something ${false}NoneDo XYZ ${None}Null${ret} = Get Value argShould Be Equal ${ret} ${null}
空格和空变量
语法:
使用变量 S P A C E 和 {SPACE}和 SPACE和{EMPTY}创建空格和空字符串
扩展变量语法,${SPACE*5}作用:
需要使用反斜杠转义空格或空单元格时
使用变量比使用反斜杠更易理解
*** Test Cases ***
One spaceShould Be Equal ${SPACE} \ \four spaceShould Be Equal ${SPACE * 4} \ \ \ \ \Ten spaceShould Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \Quoted spaceShould Be Equal "${SPACE}" " "Quoted spacesShould Be Equal "${SPACE * 2}" " \ "EmptyShould Be Equal ${EMPTY} \
自动变量
语法:
- ${TEST NAME} 当前测试用例名称
- @{TEST TAGS} 包含按字母顺序排列的当前测试用例标签
- ${TEST DOCUMENTATION} 当前测试用例文档
- ${TEST STATUS} 当前测试用例状态,通过或失败
- ${TEST MESSAGE} 当前测试用例消息
- ${PREV TEST NAME} 先前测试用例名称,如果尚未执行任何测试,则为空字符串
- ${PREV TEST STATUS} 先前测试用例状态:pass,FAIL或未执行任何测试时为空字符串
- ${PREV TEST MESSAGE} 先前测试用例的可能错误消息
- ${SUITE NAME} 当前测试套件的全名
- ${SUITE SOURCE} 套件文件或目录的绝对路径
- ${SUITE DOCUMENTATION} 当前测试套件文档,可使用Set Suite Documentation 关键字动态设置
- ${SUITE METADATA} 当前测试套件免费元数据,可使用Set Suite Metadata关键字进行设置
- ${SUITE STATUS} 当前测试套件的状态,通过或失败
- ${KEYWORD MESSAGE} 当前关键字的可能错误消息
- ${LOG LEVEL} 当前日志级别
- ${OUTPUT FILE} 输出文件的绝对路径
- ${LOG FILE} 日志文件的绝对路径
- ${REPORT FILE} 报告文件的绝对路径
- ${DEBUG FILE} 调试文件的绝对路径
- ${OUTPUT DIR} 输出目录的绝对路径
变量的优先级和作用域
作用:
- 不同来源的变量具有不同的优先级,在不同的范围内可用
变量的优先级:
命令行中变量
优先级最高,覆盖测试用例文件的变量表和测试数据导入的资源和变量文件中创建的可能变量变量表中变量
测试用例文件中变量表创建的变量可用于该文件中所有测试用例
这些变量覆盖导入的资源和变量文件中具有相同名称的可能变量导入资源中变量
从资源和变量文件导入变量在测试数据中创建的所有变量中优先级最低测试执行期间设置变量
测试执行过程中使用关键字返回值或使用Set Test / Suite / Global Variable 关键字设置变量始终覆盖设置范围内可能存在的现有变量内置变量
T E M P D I R 和 {TEMPDIR}和 TEMPDIR和{TEST_NAME}等内置变量在所有变量中具有最高优先级,无法使用变量表或从命令行覆盖它们
变量作用域
范围:
- 根据变量创建位置和方式,变量可具有全局,测试套件,测试用例或局部作用域
全局变量
命令行中使用:–variable 和 --variablefile 选项设置
可在测试数据中任何位置使用 Builtin 关键字 set global variable 创建新的全局变量或更改现有全局变量
内置变量也是全局
测试套件作用域
- 具有测试套件范围变量可在定义或导入测试套件任何位置使用
- 可在变量表中创建,可从资源和变量文件导入,也可在测试执行期间使用 Builtin 关键字 Set Suite Variable 设置
测试用例作用域
- 在测试用例以及测试使用的所有用户关键字中,最初,此范围内没有变量,可通过在测试用例中任何位置使用 Builtin 关键字 Set Test Variable 来创建
局部作用域
- 测试用例和用户关键字具有局部变量作用域,其他测试或关键字看不到该作用域
- 可使用已执行关键字返回值来创建局部变量,用户关键字也可将其作为参数
RF-测试目录以及库引用、变量使用相关推荐
- VS的包含目录、库目录、引用目录、可执行目录解释
来源:包含目录.库目录.附加包含目录.附加库目录.附加依赖项之详解 学习备份 VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性&q ...
- 包含目录、库目录、附加包含目录、附加库目录、附加依赖项如何使用? 及静态库,动态库的创建与调用和vs里引用的使用
引言:vs中怎么添加外部头文件? 如过直接在项目头文件处,添加一下,如下图: 否则,依然会报错,如下图: 有两种方法,来解决(你不在vs上的添加它也没事): (1) 直接把外部头文件复制过来,放在此项 ...
- Robotframework(5)-用python写RF测试
文章目录 Robotframework(5)-用python编写RF测试 1.安装RF测试框架 2.安装浏览器驱动器 3.安装必要的库 4.编写测试用例 5.调试 Robotframework(5)- ...
- 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )
文章目录 安卓直播推流专栏博客总结 一. NV21 数据传入 Native 层 二. jbyte * 数据类型 ( Java 中的 byte[] 数组传入 JNI 处理方式 ) 三. 局部引用处理 四 ...
- VS2010中添加lib库引用
一.VS2010中添加lib库引用: 1 菜单 项目---> 属性--->配置属性-->链接器---->输入---附加依赖项, 加入库名,如: my_API.lib; ...
- C++ | 引用变量
##目录 文章目录 何时使用引用参数 1. 传递值而不修改值(尽量 const 修饰) 2. 需要修改原数据 ##导语:为什么要有引用变量 拿一个简单的例子来说,要交换两个变量的值,如何交换?注意这里 ...
- GCC 连接器、链接标准库 gcc -l、链接手动创建库(指定目录的库 gcc -L)
1. 链接器 链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件. 在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等 ...
- linux快捷键 赋值,2_Shell语言———bash的快捷键、变量声明、引用变量及变量替换...
一.初识bash Bash是一种解释型语言,但它也提供了交互式接口,支持变量,因此提供了编程环境,所以可以称bash为程序语言. 解释型语言属于弱类型语言,其特点为: 1.它不强制区分变量类型,即无论 ...
- 【C 语言】动态库封装与设计 ( 动态库调用环境搭建 | 创建应用 | 拷贝动态库相关文件到源码路径 | 导入头文件 | 配置动态库引用 | 调用动态库中的函数 )
文章目录 一.在 Visual Studio 2019 中创建 " 控制台应用 " 程序 二.拷贝 xxx.lib.xxx.dll.xxx.h 到源码路径 三.导入 xxx.h 头 ...
最新文章
- Go 学习笔记(77)— Go 第三方库之 cronexpr(解析 crontab 表达式,定时任务)
- [k8s] 第二章 十分钟带你搭建k8s集群环境
- 013_html水平线
- hdu 1556 Color the ball
- 2016-02-24 获取设备 通知开关
- 开源 画图_[软件使用05] 快速使用 Deeptools 对 ChIP-seq 数据画图!
- win7字体大小怎么设置_XP,win7系统怎么设置自动关机
- C#物联网平台服务器框架源码
- Python打包exe,以及解决闪退
- Eclipse和JDK版本对应关系
- Android判断当前使用数据流量的是哪张卡
- 机器学习 入门详细解析(二)决策树、随机森林
- 彩色图、灰度图和二值图
- python听歌识曲爬虫_【python爬虫】 爬云音乐我和xxx共同听过的歌曲
- 将汉字转换为拼音:pypinyin.pinyin()
- rospy.init_node(‘talker_node‘, anonymous=True)中anonymous意思
- java支付宝当面付接口_支付宝当面付秘钥生成教程(加对接案例)
- uboot中ftd命令
- 用python实现在一组数据中,寻找到最大数和最小数并输出最大数和最小数所在的位置
- 今日份安利:epub格式转换成mobi方法哪个好?