当前位置:网站首页>RobotFramework 之 用户关键字
RobotFramework 之 用户关键字
2022-08-09 13:06:00 【沉觞流年】
RobotFramework 之 用户关键字
用户关键字(user keyword):
按系统业务操作,调用系统关键字和变量形成更高级的关键字。
类似于RF层面的函数,用于封装一些步骤。类比python编写自己的函数。
定义用户关键字是为了封装用例中相同逻辑的内容,达到优化用例的作用
用户关键字RF标识:
- 参数:[Arguments]
- 返回值 :[Return]
- 关键字说明:[Documentation]
用户关键字定义在Keywords中,只要在测试用例中调用用户关键字的名称,即可调用用户关键字里的步骤
用户关键字的调用
示例:
*** Keywords ***
关键字1
[Documentation] 关键字1说明:操作步骤1、操作步骤2
log to console 操作步骤1
log to console 操作步骤2
*** Test Cases ***
用例1
关键字1
log to console 操作步骤3
用例2
关键字1
log to console 操作步骤4
执行该robot文件,用例中直接调用了关键字1里的操作步骤。[Documentation] 后的内容不起任何作用,只是进行说明,相当于注释
用例1 操作步骤1
操作步骤1
.操作步骤3
用例1 | PASS |
------------------------------------------------------------------------------
用例2 操作步骤1
操作步骤1
.操作步骤4
用例2 | PASS |
带参用户关键字
*** Keywords ***
带参关键字
[Arguments] ${
date}
log to console 今天是${
date}
*** Test Cases ***
用例1
带参关键字 2021-03-30
通过 [Arguments] 定义参数 ${date},用例1 中使用 带参关键字,然后将参数 2021-03-30 传递过去,执行了 log to console打印
==============================================================================
用例1 今天是2021-03-30
用例1 | PASS |
------------------------------------------------------------------------------
带参用户关键字-默认参数
*** Keywords ***
带参关键字-默认参数
[Arguments] ${
ToDo}=浇花
log to console 早上起来记得${
ToDo}
*** Test Cases ***
用例2
带参关键字-默认参数
带参关键字-默认参数 喝豆浆
通过 [Arguments] 定义参数 ${ToDo},用例2 中使用 带参关键字-默认参数
如果没有传入参数,则会调用默认参数 浇花;
如果传入了参数,则将参数 喝豆浆 传递过去,执行了 log to console打印
==============================================================================
用例2 早上起来记得浇花
.早上起来记得喝豆浆
用例2 | PASS |
------------------------------------------------------------------------------
带参用户关键字-多个参数
*** Keywords ***
带参关键字-多个参数
[Arguments] @{
name}
log to console 今天要和@{
name}一起打牌
*** Test Cases ***
用例3
带参关键字-多个参数 王总 李总 张总
通过 [Arguments] 定义参数 @{name}(注意这里的符号是@),用例3 中使用 带参关键字-多个参数
将参数 王总 李总 张总 传递过去,执行了 log to console打印,但这里参数传递的方式是以列表的方式
==============================================================================
用例3 今天要和['王总', '李总', '张总']一起打牌
用例3 | PASS |
带参用户关键字-键值对参数
*** Keywords ***
带参关键字-键值对参数
[Arguments] &{
persons}
log to console 王总的爱好:${
persons}[王总]
*** Test Cases ***
用例4
带参关键字-键值对参数 王总=打高尔夫球 李总=SPA 张总=打麻将
通过 [Arguments] 定义参数 &{persons}(注意这里的符号是&),用例4 中使用 带参关键字-键值对参数
将参数 王总=打高尔夫球 李总=SPA 张总=打麻将 传递过去,执行了 log to console打印,但这里参数传递的方式是以字典的方式
==============================================================================
用例4 王总的爱好:打高尔夫球
用例4 | PASS |
------------------------------------------------------------------------------
如果需要用到key-value形式的内容,且需要通过循环获取字典里的内容,推荐通过python语法自定义关键字实现。通过RF方式不推荐使用,容易报错
带参用户关键字-返回值
这里需要用到Dialogs库里的get value from user关键字。
定义用户关键字带参关键字-返回值,获取从弹框中输入的分数,如果分数大于60,则通过关键字 set variable if将通过赋值给变量res;如果分数小于等于60,则将不通过赋值给变量res。最后通过[Return]返回到用例中的result变量
*** Settings ***
Library Dialogs
*** Keywords ***
带参关键字-返回值
${
score} get value from user 请输入你的分数
${
res} set variable if int($score)>60 通过
... int($score)<=60 不通过
[Return] ${
res}
*** Test Cases ***
用例5
${
result} 带参关键字-返回值
log to console ${
result}
输入30
==============================================================================
用例5 .不通过
用例5 | PASS |
------------------------------------------------------------------------------
Test1 | PASS |
1 test, 1 passed, 0 failed
==============================================================================
边栏推荐
- gin的中间件和路由分组
- Process/Thread Related in Sandbox - 2
- Bitmaps and bit operations
- IDEA Gradle 常遇问题(二)(持续更新)
- IDEA Gradle 常遇问题(一)
- 用plot_hist_numeric()实现画直方图
- Uni - app - uview Swiper shuffling figure component, click on the links to jump (click to get the item after the row data, remove data operation)
- 缓存和数据库一致性问题
- 现在40系显卡都快出来了,为何1060型号的显卡还有这么多人用?
- Q_04_06 把它放在一起:传送
猜你喜欢
![行程和用户[阅读理解法]](/img/4b/77bba3c488b5410fdec5c3894c7421.png)
行程和用户[阅读理解法]

FFmpeg多媒体文件处理(ffmpeg处理流数据的基本概念)

Unicom network management protocol block diagram

IDEA Gradle 常遇问题(一)

Uni - app - uview Swiper shuffling figure component, click on the links to jump (click to get the item after the row data, remove data operation)

某高校的R语言数据分析期末作业

技嘉显卡 RGBFusion 不能调光解决方法

面试攻略系列(四)-- 你不知道的大厂面试

【瑞吉外卖】day05:增、删、改、查分类以及公共字段自动填充

Final assignment of R language data analysis in a university
随机推荐
周末看点回顾|我国IPv6网络全面建成;2022昇腾AI开发者创享日·南京站成功举办…
FFmpeg multimedia file processing (ffmpeg prints audio and video Meta information)
IDEA Gradle 常遇问题(二)(持续更新)
RTSP协议的实现
剑指 Offer 57 - II. 和为s的连续正数序列(滑动窗口)
剑指 Offer 43. 1~n 整数中 1 出现的次数(递归、数学)
NC15 求二叉树的层序遍历
GIN a preliminary study, the environment is installed
基于 R 语言的深度学习——简单回归案例
力扣解法汇总1413-逐步求和得到正数的最小值
kustomize entry example and basic syntax instructions
FFmpeg multimedia file processing (the basic concept of ffmpeg processing stream data)
程序员的七夕怎么过?不会是写代码吧
JS轮播图实现
Come and throw eggs.
关于做2D游戏时,Canvas边界显示在Game窗口的问题
Professor Chen Qiang's "Machine Learning and R Application" course Chapter 16 Assignment
Standing wave ratio calculation method
陈强教授《机器学习及R应用》课程 第十四章作业
GIN file upload and return