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关键字包括系统关键字和用户关键字.用户 ...
随机推荐
- mybatis常用功能总结
mybatis-plus常用功能总结-以User表为例 1.数据库 id name age email create_time update_time version deleted 1 mary 2 ...
- Securecrt 在win7下 字体太少问题
用WIN7,觉得securecrt里面可用的字体太少了.很多都没有,比如lucida console,经过一番查找,终于找到解决问题的方法了. 原因就是win7里面的很多字体都被设置为隐藏了,所以se ...
- C#基于Mongo的官方驱动手撸一个Super简易版MongoDB-ORM框架
C#基于Mongo的官方驱动手撸一个简易版MongoDB-ORM框架 如题,在GitHub上找了一圈想找一个MongoDB的的ORM框架,未偿所愿,就去翻了翻官网(https://docs.mongo ...
- Codeforces Round #713 (Div. 3)AB题
Codeforces Round #713 (Div. 3) Editorial 记录一下自己写的前二题本人比较菜 A. Spy Detected! You are given an array a ...
- NumPy之:ndarray多维数组操作
NumPy之:ndarray多维数组操作 目录 简介 创建ndarray ndarray的属性 ndarray中元素的类型转换 ndarray的数学运算 index和切片 基本使用 index wit ...
- x265 code tracing
方瑞东的博客专栏 http://blog.csdn.net/frd2009041510/article/details/51182920 cabbage2008的专栏 http://blog.csdn ...
- 还在手动部署jar包吗?快速掌握Jenkins安装,教你使用Jenkins实现持续交付
Jenkins Jenkins: 开源软件项目 基于Java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台, 便于软件的持续集成 基于Docker安装Jenkins 与 ...
- 人人都爱Kubernetes,Docker难道就不香了吗?
开篇 提起Docker,有很多人第一印象会认为它就是一个虚拟化容器,所以大家特别容易陷入到一种误区,就是觉得Docker只是在Linux操作系统之上又增加了一层,就跟OS上跑了一个VMWare一样.D ...
- Python设计模式知多少
设计模式 设计模式是前辈们经过相当长的一段时间的试验和错误总结出来的最佳实践.我找到的资料列举了以下这些设计模式:工厂模式.抽象工厂模式.单例模式.建造者模式.原型模式.适配器模式.桥接模式.过滤器模 ...
- [Java] 部署到Linux
阿里云 控制台->云服务器ECS->实例->创建实例 计费方式 地域 网络 安全组:默认安全组 公网IP地址:分配 实例 公网带宽:1M ECS服务器:公共镜像CentOS 存储 购 ...