如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1770899.html

什么是用户关键字

  • 类似 Python 里面的函数,我们自定义函数,等于我们自定义关键字,也称为用户关键字
  • *** Keywords *** 表放的就是用户关键字

定义用户关键字的简单栗子

等价于 Python 里面:定义函数,调用函数

def add(a, b):
return a + b if __name__ == '__main__':
print(add(1, 1))

*** Keywords *** 表中的设置项

  1. [Documentation]
  2. [Tags]
  3. [Arguments]
  4. [Return]
  5. [Teardown]
  6. [Timeout]

用户关键字的参数详解

  • 参数通过 [Arguments] 设置, 参数名称的语法格式和 变量 一样, 如  ${arg}
  • 其实用户关键字的参数列表就等同于 Python 函数的参数列表,只是写法变了而已

位置参数

等价于 Python

其实就是最简单的函数声明了

def one(arg1):
print(arg1) def Three(arg1, arg2, arg3):
print(arg1)
print(arg2)
print(arg3)

默认值参数

测试结果

等价于 Python

就是给参数设置默认值嘛,看 Python 代码的话应该很好理解吧;不过要注意 Python 函数的参数间不可以想相互赋值

def onedefault(arg="默认值"):
print(arg) default = "默认默认值" def threedefault(a, b="a", c=default):
print(a)
print(b)
print(c)

重点知识点

默认值的语法是对空格敏感的,等号 = 前面不允许有空格,而=后面的空格则被视作默认值的一部分

可变参数

用 @{args} 声明参数时,就是代表可变参数,可以接受不定数量的参数,跟 Python 的可变参数一个意思

测试结果

等价于 Python

def args_one(*args):
for i in args:
print(i) def args_default(a, b=1, *args):
print(a)
print(b)
for i in args:
print(i)

关键字参数

用  &{args} 声明参数时,就是代表关键字参数,可以接受不定数量的关键字参数,跟 Python 的关键字参数一个意思

测试结果

等价于 Python

# 关键字参数
def kwargs_demo(arg, **kwargs):
print(arg)
for k, v in kwargs.items():
print(k, v)

Robot Framework(11)- 用户关键字的详解的更多相关文章

  1. Robot framework(RF) 用户关键字

    3.6  用户关键字 在Robot Framework 中关键字的创建分两种:系统关键字和用户关键字. 系统关键字是需要通过脚本开发相应的类和方法,从而实现某一逻辑功能. 用户关键字是根据业务的需求利 ...

  2. Robot Framework(用户关键字)

    在 Robot Framework 中关键字的创建分两种:系统关键字和用户关键字.系统关键字需要通过脚本开发相应的类和方法,这个我们将在后面的章节介绍.用户关键字的创建就要简单得多,它主要利用现有的系 ...

  3. Robot Framework自动化_Selenium2Library 关键字

    Robot Framework自动化_Selenium2Library 关键字 培训老师:肖能尤 2016/06/12 课程目的 一.Robot framework Selenium2Library ...

  4. Linux 用户及权限详解

    Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...

  5. ava下static关键字用法详解

    Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static ...

  6. Linux 系统的用户和组详解_【all】

    1.Linux 用户和用户组详解 2.Linux 文件特殊权限详解 3.Linux 文件的读写执行权限的说明 4.Linux 架构之简述企业网站 5.Linux 环境变量设置详解 6.企业生产环境用户 ...

  7. Java并发关键字Volatile 详解

    Java并发关键字Volatile 详解 问题引出: 1.Volatile是什么? 2.Volatile有哪些特性? 3.Volatile每个特性的底层实现原理是什么? 相关内容补充: 缓存一致性协议 ...

  8. 11、mysql索引详解

    1.索引介绍: 2.建立索引的方法: 注意:索引名称不要相同: (1)在建表的时候,可以增加主键索引的语句如下: 1)例一: create table student1 ( id int(4) not ...

  9. Linux 用户和用户组详解

    用户分类 超级用户:UID范围 0 root用户:uid=0(root) gid=0(root) groups=0(root) 普通用户:由管理员创建,UID范围(500-65535) --> ...

随机推荐

  1. 网速慢?不!可能是DNS出了问题! 公共DNS优选之 BAT 百度、腾讯、阿里、谷歌DNS哪个更快?

    如果一下还是解决不了你的问题请这边走 首先是Google的DNS: 8.8.8.8 丢包严重 PASS但是扶墙的时候是必备的,如果有扶墙的需求的话可以备用. 二.百度DNS 180.76.76.76 ...

  2. 图论--最小环--Floyd模板

    #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> ...

  3. postman(介绍)

    Postman 界面介绍 一. 安装后首次打开 postman,会提示你是否需要登录,登录的话可以云端保存你的收藏及历史记录,不登陆不影响使用.   二. 进入后就是如下图所示的界面了.看到这么多按钮 ...

  4. 最长公共子序列(Longest common subsequence)

    问题描述: 给定两个序列 X=<x1, x2, ..., xm>, Y<y1, y2, ..., yn>,求X和Y长度最长的公共子序列.(子序列中的字符不要求连续) 这道题可以 ...

  5. vue项目兼容ie

    一.兼容ES6 Vue 的核心框架 vuejs 本身,以及官方核心插件(VueRouter.Vuex等)均可以在 ie9 上正常使用.但ie不兼容es6,所以需要安装插件将“Promise”等高级语法 ...

  6. 视频文件自动转rtsp流

    最近碰到一个项目需要用到 rtsp 视频流做测试, 由于真实环境的 摄像头 并不能满足需求,故尝试了一下用本地视频文件转换成rtsp视频流做测试,记录一下~ 采用方案: Docker + EasyDa ...

  7. 创造DotNet Core轻量级框架【二】

    上一篇 创造DotNet Core轻量级框架[一] 10 题外话 上一篇文章感谢大家提出的各种小建议和各种讨论,但是在写文章的时候框架最最最基础的样子已经做出来了,所以大家的各种建议和意见我会在后续逐 ...

  8. 一步一步教你PowerBI数据分析:制作客户RFM数据分析

    客户分析就是根据客户信息数据来分析客户特征,评估客户价值,从而为客户制订相应的营销策略与资源配置.通过合理.系统的客户分析,企业可以知道不同的客户有着什么样的需求,分析客户消费特征与商务效益的关系,使 ...

  9. [zoj3627]模拟吧

    思路:情况只可能是2种,两个人一直向一边走,或者有一个人折回来,对于后一种,枚举折回来的位置就行了.不过要注意两个方向都要处理下. #pragma comment(linker, "/STA ...

  10. Web_php_unserialize

    0x01 <?php class Demo { private $file = 'index.php'; public function __construct($file) { $this-& ...