当前位置:网站首页>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
==============================================================================
边栏推荐
- IDEA Gradle 常遇问题(一)
- Q_08 更多信息
- ArcEngine(十)创建矢量图层
- 力扣解法汇总1413-逐步求和得到正数的最小值
- GET POST PUT DELETE request in GIN
- NC40 链表相加(二)
- Professor Chen Qiang's "Machine Learning and R Application" course Chapter 13 Assignment
- eslint语法规则报错
- The sword refers to Offer 56 - II. Number of occurrences of a number in an array II (bit operation)
- X264性能优化
猜你喜欢
随机推荐
正则表达式-re模块
GIN a preliminary study, the environment is installed
PO、DO、TO、VO、DO、DTO、DAO、POJO都是什么?
基于 R 语言的深度学习——简单回归案例
32位机器和64位机器基本数据类型长度
RTSP协议讲解
IDEA Gradle 常遇问题(一)
puzzle(016.5)逻辑电路
Professor Chen Qiang's "Machine Learning and R Application" course Chapter 16 Assignment
LeetCode 37. Solve Sudoku
技嘉显卡 RGBFusion 不能调光解决方法
5G Unicom Network Management Design Ideas
昇腾AI开发者创享日南京站!一起CANN机器狗+AI机械臂实现硬核智慧救援!燃爆现场~
[FPGA Tutorial Case 48] Image Case 8 - Realization of Converting RGB Image to HSV Image Based on FPGA, Assisted Verification by MATLAB
error Trailing spaces not allowed no-trailing-spaces 9:14 error Unexpected trailing comma
ArcEngine(九)图形绘制
乐东消防救援大队应邀为干部开展消防安全培训
Draw a histogram with plot_hist_numeric()
5G China unicom AP:B SMS ASCII Transcoding Requirements
NC15 求二叉树的层序遍历