| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> robotframwork -> 正文阅读 |
|
[开发测试]robotframwork |
创建测试case 本章介绍创建测试case的语法。
1.1. 基础语法 测试用例是由测试库或者用户自定义的资源文件中的关键字组成的。基本格式如下: *** Test Cases *** Valid Login Open Login Page Input Username demo
Setting Variables
说明: *** Test Cases ***:表示测试用例 Valid Login:第1个测试用例的名称 Input Username demo:蓝色字体表示的是关键字,对应的就是RF中的一个函数,红色字体表示的函数的参数 Setting Variables:表示第2个测试用例的名称 代码示例1: *** Test Cases *** 执行结果: 测试用例也有自己的配置项,可以修改名单,超时时间等等,支持的配置项如下: [Documentation]:Used for specifying a test case documentation. [Tags]:Used for tagging test cases. [Setup], [Teardown]:Specify test setup and teardown. [Template]:Specifies the template keyword to use. The test itself will contain only data to use as arguments to that keyword. [Timeout]:Used for setting a test case timeout. Timeouts are discussed in their own section. 代码示例: *** Test Cases *** 和其它自动化测试框架类似,Robot Framework也支持setup 和teardown的功能,用来执行一些初始化和清理的工作。setup 和teardown分为测试套件的setup 和teardown,还有测试用例的setup 和teardown,测试套件级别的就是在所有的测试用例中都会执行,测试用例级别的就是在某个测试用例下执行,具体的结构如下: *** Settings *** Test Setup Open Application App A Test Teardown Close Application *** Test Cases *** Default values
Overridden setup
No teardown
No teardown 2
Using variables
说明:
Suite Setup Open Browser To Login Page Suite Teardown Close Browser
测试模板的作用是将关键字驱动的测试用例转换为数据驱动的测试用例。 4.1. 基本用法 可以使用[Template] 或者在Setting中用Test Template实现,模板如下: 方式一:[Template] *** Test Cases ** Normal test case Example keyword first argument second argument Templated test case [Template] Example keyword first argument second argument 代码示例: *** Test Cases *** template test case 方式二: *** Settings *** Test Template Example keyword *** Test Cases *** Templated test case first round 1 first round 2 second round 1 second round 2 third round 1 third round 2 代码示例: *** Settings *** *** Test Cases *** 4.2. 内置参数的模板 这种类型的模板中参数类似于占位符,调用时就用指定位置的数据替换,所以传入的参数个数需要好定义的参数个数相等,但是参数名可以不一致。 代码示例1: *** Test Cases *** Template with embedded arguments *** Keywords *** Calculate 代码示例2: *** Test Cases *** Only some arguments New arguments *** Keywords *** Calculate 执行结果: Starting test: Em Arg Template1.Only some arguments Starting test: Em Arg Template1.New arguments 这部分介绍如何使用测试库和库的中的关键字。 6.1. 导入库 关键字是Library,有2种方式导入指定的库: l 使用Library关键字,通过库名导入 这种方式本质使用的就是python中导入模块的,根据搜索路径来查找文件 语法:Library [库名] *** Settings *** Library OperatingSystem Library my.package.TestLibrary Library MyLibrary arg1 arg2 Library ${LIBRARY} 注意:库名都是大小写敏感的,而且空格的个数也需要严格按照库名来写 l 使用Library关键字,通过文件路径导入 语法:Library [库文件路径] *** Settings *** Library PythonLibrary.py (要有后缀名) Library /absolute/path/JavaLibrary.java Library relative/path/PythonDirLib/ possible arguments Library ${RESOURCES}/Example.class 6.2. 导入库时使用别名 如果导入的库名很长或者级别很多,或者是同样的库但是用不同的版本等情况下,就可以使用别名,将库重命名为简单的字符,方便后续操作, 关键字:WITH NAME,大小写敏感。 基本用法如下: *** Settings *** Library com.company.TestLib WITH NAME TestLib Library ${LIBRARY} WITH NAME MyName 同一个库引用多次: *** Settings *** Library SomeLibrary localhost 1234 WITH NAME LocalLib Library SomeLibrary server.domain 8080 WITH NAME RemoteLib *** Test Cases *** My Test LocalLib.Some Keyword some arg second arg RemoteLib.Some Keyword another arg whatever LocalLib.Another Keyword
Robot Framework中有很多地方使用到变量,比如关键字的参数,临时变量等等,用来暂时或者永久存储一些数据。Robot Framework支持的变量类型包括,标量,列表、字典和环境变量,引用的语法分别为:${SCALAR}, @{LIST} ,&{DICT},%{ENV_VAR}。标量,可理解为单值变量,与之对应的是List这种多值变量。单值不仅仅可以是字符串、数值这样的,还有可能是个对象或者字典。 Robot Framework变量, 与关键字类似不区分大小写, 同时其中的下划线和空格也会被忽略。推荐使用大写字母来表示全局变量(如 ${PATH} 或 ${TWO WORDS}), 小写字母来表示局部变量(如 ${my var} 或 ${myVar})。 7.1. 标量 在*** Variables 下,用${var}定义标量,在 Test Cases ***中用log输出 代码示例1: *** Variables *** *** Test Cases *** 执行结果: Starting test: Rf Demo1.Variables.scalar 创建:列表创建时使用的标识符为@, 访问:@{NAME}[index]或者 N A M E [ i n d e x ] , 其 中 i n d e x 为 下 标 。 R o b o t F r a m e w o r k 3.1 版 本 中 , 除 了 列 表 的 切 片 必 须 用 {NAME}[index],其中index为下标。Robot Framework 3.1版本中,除了列表的切片必须用 NAME[index],其中index为下标。RobotFramework3.1版本中,除了列表的切片必须用符号外其它情况下@和 都 可 以 , 建 议 使 用 都可以,建议使用 都可以,建议使用。列表的访问和python中类似,下标从0开始,负数的话表示从后向前取数据,如果下标超过列表长度的话会报索引错误,也可以使用切片 代码示例: *** Variables *** *** Test Cases *** 7.3. 字典 创建:字典创建和访问时使用的标识符为&, 访问:通过 &{NAME}[key]或者 N A M E [ k e y ] 这 样 的 语 法 格 式 获 取 字 典 中 某 项 的 值 , 其 中 k e y 是 键 的 名 称 。 R o b o t F r a m e w o r k 3.1 版 本 中 , 以 上 两 种 语 法 都 支 持 , 但 是 建 议 使 用 {NAME}[key] 这样的语法格式获取字典中某项的值, 其中 key 是键的名称。Robot Framework 3.1版本中,以上两种语法都支持,但是建议使用 NAME[key]这样的语法格式获取字典中某项的值,其中key是键的名称。RobotFramework3.1版本中,以上两种语法都支持,但是建议使用。字典的键名当作字符串处理, 非字符串的键可以用变量代替 代码示例1:创建字典并获取其中的项 *** Variables *** *** Test Cases *** 执行结果: 说明:
代码示例2:字典中的项可以作为命名参数传给关键字 假设有个字典变量 &{USER} 中有值 {‘name’: ‘robot’, ‘password’: ‘secret’}, 则下面两个用例的效果是等价的。伪代码: *** Test Cases *** Constants Login name=robot password=secret Dict Variable Login &{USER} |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:51:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |