当前位置:网站首页>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
==============================================================================
边栏推荐
- JS本地存储 sessionStorage和localStorage
- How to solve the 0x80070005 error when the computer is reinstalled and the system is restored
- offset、client、scroll、window.pageYOffset比较
- NC15 求二叉树的层序遍历
- 5G China unicom general exception handling
- Q_06_03 表达式
- NC192 二叉树的后序遍历
- FFmpeg多媒体文件处理(FFMPEG日志系统)
- Unity3d_API_GPS_LocationService
- 为什么文字不贴合边
猜你喜欢

19、学习MySQL 索引

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

基于 R 语言的判别分析介绍与实践 LDA和QDA

FFmpeg multimedia file processing (implementation of ffmpeg operation directory and list)

音频基础学习——声音的本质、术语与特性

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)

剑指offer,剪绳子2

Jenkins API groovy calling practice: Jenkins Core Api & Job DSL to create a project

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

How to solve the 0x80070005 error when the computer is reinstalled and the system is restored
随机推荐
面试攻略系列(四)-- 你不知道的大厂面试
FFmpeg多媒体文件处理(ffmpeg处理流数据的基本概念)
gin的中间件和路由分组
JS本地存储 sessionStorage和localStorage
陈强教授《机器学习及R应用》课程 第十八章作业
周末看点回顾|我国IPv6网络全面建成;2022昇腾AI开发者创享日·南京站成功举办…
Q_08 更多信息
利用信号灯和共享内存实现进程间同步通信
R语言kaggle 游戏数据探索与可视化
[MRCTF2020]套娃-1
gin's middleware and routing grouping
How to reduce the size of desktop icons after the computer is reinstalled
陈强教授《机器学习及R应用》课程 第十七章作业
Q_06_01 Q#编程语言
Explanation of RTSP protocol
音频基础学习——声音的本质、术语与特性
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)
蓝桥杯线上模拟赛——Flex 经典骰子布局
Q_07 词汇表
NFS pays special attention to the problem of permissions