RobotFramework关键字的定义和使用

博客介绍了测试用例关键字相关内容。关键字分系统和用户关键字,系统关键字含标准库和第三方库的,用户关键字是业务或用例步骤封装。关键字加测试数据构成测试用例,库存系统关键字,资源存用户关键字。还说明了关键字定义要考虑输入输出,以及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关键字:

一个关键字对应一个功能

关键字分为系统关键字和用户关键字

系统关键字包含标准库里面的关键字和第三方库里面的关键字

用户关键字是我们根据业务将不同的业务封装成一个关键字或者将用例执行的步骤封装成一个关键字

关键字+测试数据组成了我们的测试用例

库分门别类的存放系统关键字

资源分门别类的存放用户关键字

 

二、关键字的定义:

1、定义一个关键字要先考虑输入输出

例如打开一个浏览器输入一个网址:输入网址

 

2、关键字的使用

1)在同一个文件中,测试用例直接通过关键字名字调用

 

2)关键字和测试用例分开:使用资源来管理关键字

什么是资源?资源是用户关键字的集合

资源文件存放的位置:

 

3)测试用例如何引用资源里面定义的用户关键字:

4)获取用户关键字的返回值

用户一个变量来接受关键字的返回值

### Robot Framework 关键字概述 Robot Framework 是一种基于关键字的自动化测试工具,支持通过多种方式扩展其功能。关键字可以分为内置关键字用户自定义关键字两种类型。 #### 内置关键字 Robot Framework 提供了大量的内置库来满足不同的需求。这些库中的函数可以直接作为关键字调用。例如 `BuiltIn` 库提供了通用的操作方法;而像 `Collections`, `String`, `DateTime` 这样的标准库则专注于特定的数据处理任务[^1]。 ```robotframework *** Settings *** Library BuiltIn Library Collections *** Variables *** ${list} Create List apple banana orange *** Test Cases *** Example With Built-in Keywords Log To Console Hello, this is a test. Length Should Be ${list} 3 ``` #### 自定义关键字 为了提高代码重用性可读性,通常会创建自己的关键字集合。这可以通过 Python 或 Java 编写外部库实现,也可以利用 RF 的内嵌资源文件机制直接在 `.robot` 文件内部定义关键字[^2]。 下面是一个简单的例子展示如何封装 HTTP POST 请求为一个新的关键字: ```python from robot.api.deco import keyword import requests class MyCustomLib(object): @keyword('Send Post Request') def send_post_request(self, url, data=None, json=None, **kwargs): response = requests.post(url=url, data=data, json=json, **kwargs) return response.status_code, response.text ``` 对应的机器人脚本里就可以这样使用这个新加入的关键字了: ```robotframework *** Settings *** Library ./path/to/MyCustomLib.py *** Test Cases *** Test Sending A Post Request Send Post Request http://example.com/api/v1/resource {"key": "value"} ``` 对于开发环境的选择方面,虽然官方自带了一个叫做 RIDE (Robot IDE) 的图形界面编辑器,但是很多开发者更倾向于使用 PyCharm 等集成开发环境中工作,并借助专门针对RF设计的支持插件获得更好的体验,比如语法高亮等功能[^3]. 最后给出一段综合性的实例片段用于说明多个不同来源的关键字是如何在一个实际项目中协同工作的[^4]: ```robotframework *** Settings *** Library RequestsLibrary Resource 接口测试.robot *** Variables *** ${base_url}= https://api.example.com/ *** Test Cases *** DemoCase10-weather [Template] 天气预报接口测试 # 查询的天气预报时间 # 预期结果城市 # 预期结果温度 2020-01-10 天津市 高温 5℃ 2020-01-08 天津市 高温 6℃ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值