robotframework用户关键字创建过程
robotframework是一个关键字驱动框架,核心在于关键字的应用。系统本身通过各种库自带了大量关键字,同时支持用户自定义关键字。关键字可以简单理解为各种处理数据的方法。
关键字区别与用户参数。
为什么使用用户关键字:
以selenium库为例,在robotframework中,提供了大量函数,来执行浏览器操作。可以直接把参数写在用例中。
例如:

又例如:

可以看出,上述参数设置维护性差,且复用差。如果涉及大量重复使用参数,上述写法将导致开发效率极差。robotframework实现了流程层和元素层分离的分层方法。
创建用户关键字大体步骤如下:
1、创建资源文件
为了方便更好的管理,我们可以重新创建一个目录专门拿来存放用户关键字、数据等资源。同时为了更好的管理关键字,我们把关键字放在不同的resource模块下,也就是先创建resource,再在resource下创建具体的关键字。

如下图例,说明参数文件中用户关键字的设置:

- Arguments:设置传入参数
变量类型:robotframework里的变量分两种。一种是Scalar,可以理解为单值变量。Scalar型变量用$符号开头。
在使用上要注意看关键字的参数到底是Scalar的还是List,区别就是看变量名前面是否有 * (星号)。

一种是List Variable,list型变量,或者可以理解为数组变量。List型变量用@符号开头。理论上可以互相进行转换,视为同一变量。所以注意尽量不要让取值不同的Scalar和List的变量重名,以免冲突。
arguments写法注意点:
1、多个传入值之间以“|”分隔。
2、${xx}=${EMPTY},这样书写就表示该变量可以不传;
3、${xx}=xx,这样书写表示如果该变量没传值,则会默认使用xx作为变量的值
4、${xx},这样书写则表示该值必填。
5、必填参数必须位于最前面,后面再跟可以为空和有默认值的参数(这两个没有顺序之分)
6、List变量也是可以作为参数,但是List变量只能放在最后一位。1维变量,元素引用使用${list[n]}(从0开始,长度-1 结束)。二维变量用${list[n][m]}(从0开始,长度-1 结束)。
例如:

Teardown:设置完成时的动作
表示在这个用户关键字执行完成之后会执行什么关键字。比如写上Close All Browsers。在这里也可以处理返回值
ReturnValue:返回值
写法同arguments类似。
Timeout:超时时间
单位默认分钟。超过设置时间则关键字失败。
robotframework用户关键字创建过程的更多相关文章
- robotframework之用户关键字的用法
robotframework是一个关键字驱动框架,核心在于关键字的应用 目录 1.如何创建用户关键字 2.调用用户关键字 3.用户关键字的使用场景 1.如何创建关键字 第一种:直接在项目上右键,添加用 ...
- Robot Framework学习笔记(九)------创建资源和用户关键字
一.测试套件下创建用户关键字 1.创建关键字测试套件右击->点击new user keyword,然后输入name,点击OK保存. 2.在用户关键字的edit点击settings,然后输入Arg ...
- RobotFramework AppiumLibrary 用户关键字
RobotFramework AppiumLibrary 用户关键字 最近在用robotframework搞安卓app 的自动化,其中用到了 AppiumLlibrary 的关键字,我都映射成了用户关 ...
- Robot Framework(七)创建用户关键字
2.6创建用户关键字 关键字表用于通过将现有关键字组合在一起来创建新的更高级别关键字.这些关键字称为用户关键字,以区别于 测试库中实现的最低级库关键字.创建用户关键字的语法与创建测试用例的语法非常接近 ...
- 从简单示例看对象的创建过程, 为什么双重检查的单例模式,分析Volatile关键字不能少
编译指令 :javac Test.java 反编译指令: javap -v Test 代码 public class ObjectTest { int m = 8; public static voi ...
- vc++窗口的创建过程(MFC消息机制的经典文章)
一.什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC ...
- 贯穿RobotFramework框架 - 关键字(一) 最全面的疏理
在RF中,关键字是一个非常重要的存在.想做任何事情,都是通过关键字来实现的. 这篇文章对RobotFramework中的关键字做个整理.大概分为以下几点内容: 1.什么是关键字 2.关键字来自哪里.有 ...
- 有谁知道Delphi中"窗口"的创建过程?
求助:有谁知道Delphi中窗口的创建过程,此“窗口”不仅仅指 TForm 类型, 还包括一般的窗口控件,如TButton,TEdit等等,希望有能够十分详细的运作 过程,比如说CreatPara ...
- robotframework常用关键字
robotframework关键字 可以将关键字看作是处理数据的方法.robotframework的关键字和测试数据组成了测试用例. robotframework关键字包括系统关键字和用户关键字.用户 ...
随机推荐
- 神经网络与机器学习 笔记—反向传播算法(BP)
先看下面信号流图,L=2和M0=M1=M2=M3=3的情况,上面是前向通过,下面部分是反向通过. 1.初始化.假设没有先验知识可用,可以以一个一致分布来随机的挑选突触权值和阈值,这个分布选择为均值等于 ...
- 【antd Vue】封装upload图片上传组件(返回Base64)
最近需要把上传的图片信息存储到数据库,以base64的方式,需要重新封装一下antd的upload组件 1. 使用方法 引入组件然后配置一下即可使用,配置项包括 defaultImageList,需要 ...
- 网络原理常用CMD命令字
1. 运行"ipconfig/all"命令,将命令运行结果截图贴上来,并指出本机IP地址和网关IP 2. 运行"ping"命令,目标参数分别是 邻居IP.com ...
- Day003 运算符
运算符 Java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof(判断一个对象 ...
- 批处理用WINRAR只压缩某类型的文件
1:新建文件夹sql back 和 back,在sql back 文件夹内新建test1.dbb和test2.bak文件 2:新建批处理文件rar.bat,编辑文件: @echo off for %% ...
- Postman中如何实现接口之间的关联?
Postman中如何实现接口之间的关联? 不单单说Postman中,我为什么拿Postman举例,因为它比较简单一点. 那如果我只问你如何实现接口之间的关联,那肯定有很多的方式,Postman只是其中 ...
- 依赖倒置原则(Dependence Inversion Principle)
目录 背景 说明 例子 "倒置"的解释 总结 参考资料 背景 这几天组内的人一起学习DDD,里面再次提到了依赖倒置原则,在这学习过程中,大家又讨论了一下依赖倒置原则. 说明 采用依 ...
- 【BUAA软工】Beta阶段事后分析
设想与目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题 总体解决的问题:新手编程者配置编程环境难.本地编写的代码跨设备同步难.本地ide安装使用过程 ...
- [刷题] 343 Integer Break
要求 给定一个正数n,可将其分割成多个数字的和,求让这些数字乘积最大的分割方法(至少分成两个数) 示例 n=2,返回1(2=1+1) n=10,返回36(10=3+3+4) 实现 回溯遍历(n^2,超 ...
- [刷题] 257 Binary Tree Paths
要求 给定一棵二叉树,返回所有表示从根节点到叶子节点路径的字符串 示例 ["1->2->5","1->3"] 思路 递归地返回左右子树到叶子节 ...