Robot Framework自动化测试四(分层思想)
谈到Robot Framework 分层的思想,就不得不提“关键字驱动”。
关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同。
在上一节的selenium API 中所介绍的方法其实就是关键字,如“open browser” 就是一个关键字。从底层去看它就是一个通过编程去现实的一个方法。
def open_browser(url,browser):
#通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。从而实现open brwoser 的目的。
通过上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。
回到分层的思想上,在程序设计的讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层。提高的灵活性,从而达到可扩展性和可维护性。
再回到自动化的话题上,我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。
参考本系列的第一节创建一条百度搜索的测试用例。

我现在要写5条百度搜索的用例:

可以在Test_suit测试套件下创建5条测试用例。其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做无疑增加的脚本的冗余,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。
我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。
Robot Framework 关键字
1、创建资源
右键“测试项目”选择“new resource”创建资源。

输入资源名称:

2、创建关键字
右键“业务关键字”选择“new User Keyword” 来创建用户关键字。

输入关键字的名称:

3、编辑关键字

分析:
对于一个测试用例来说,用户关心的是输入什么内容,得到什么结果。
所以,对于“百度搜索”关键字来说,需要创建两个接口变量${search}和${result} 两个变量,用于接收输入内容和预期结果。
点击Arguments输入框,定义变量,多个变量从用“|”隔开。
在百度搜索中使用参数化变量。

4、添加创建的资源
切换到测试套件(Search)页面,添加资源(业务关键字.txt)

5、调用关键字
现在就可以在测试用例中使用创建的关键字了(百度搜索)。

对于每一条用例来说,调用“百度搜索”关键字,输入搜索内容,输入预期结果即可。不同关心用例是如何执行的。如果百度输入框的定位发生了变化,只用去修改“百度搜索”关键字即可,不用对每一条用例做任何修改。大大提高的用例的维护性和扩展性。
到此,Robot Framework +selenium 自动化测试粗犷的讲完了。当然还有更多API 的使用,和细枝末节的设置没有介绍。但我们已经可以拿它来开展自动化工作了
Robot Framework自动化测试四(分层思想)的更多相关文章
- Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计
自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...
- Robot Framework 自动化测试
Robot Framework 自动化测试 RIDE 是 Robot Framework 测试数据的编辑器.它使测试用例的创建.运行.测试项目的组织可以在图形界面下完成. 通过 RIDE 去学习和使用 ...
- Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
如何使用Java编写自定义的RobotFramework Lib 本文包括2个章节 1. Robot Frdamwork中如何调用java Lib库 2.使用 java编写自定义的Lib 本文作者为: ...
- Robot Framework自动化测试(三)--- 封装系统关键字
之前对robotframework-ride了解的不多,后来知道了引入Selenium2Lirary库后可以做web UI自动化测试,但发现和python没啥关系,今天学习了封装系统关键字算是和pyt ...
- Robot Framework自动化测试环境准备(一)
Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效. == ...
- Robot Framework 自动化测试 Selenium2Library 库 用法
Robot Framework自动化测试Selenium2Library库详细用法 一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com ...
- 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。
序 关于自动化测试的工具和框架其实有很多.自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不 ...
- Robot Framework自动化测试的应用
Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...
- Robot Framework自动化测试(四)--- 分层思想
谈到Robot Framework 分层的思想,就不得不提“关键字驱动”. 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同. 在上一节的selenium API 中所介绍的方法其实就是关 ...
随机推荐
- java 获取cookie
# GetCookie.java package com.meicai.tms; import java.io.BufferedWriter; import java.io.File; import ...
- 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置
切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ...
- HDU2553 N皇后问题——DFS
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Linq限定操作之All,Any,Contains源码分析
Linq限定操作之All,Any,Contains源码分析 linq的限定操作 常见的限定操作: All,Any,Contains 一:All 1. 解释: 确定序列中的所有元素是否满足条件. 从字面 ...
- Wait--查看等待
--清除等待统计 --===================================================== --清除等待统计 DBCC SQLPERF (N'sys.dm_os_ ...
- django drf安装和doc生成
1.打开drf官网https://www.django-rest-framework.org/,把相关的包pip install 2.INSTALLED_APPS添加drf 3.url配置 4.tes ...
- SCVMM 安装
1.所有的物理机必须在域环境下 2.安装VMM和SQL使用的域账号尽量相同,并且唯一,尽量与管理hyper v主机使用的账号不相同
- SSL证书可以给多个域名使用吗?
欢迎访问网易云社区,了解更多网易技术产品运营经验 从信任等级的角度来说,SSL证书主要分为三类: 1.域名型https证书(DVSSL):信任等级一般,只需验证网站的真实性便可颁发证书保护网站: 2. ...
- [Maven实战-许晓斌]-[第二章]-2.2基于UNIX系统安装maven
>> >> >>3
- php面向对象编程_1
1, php面向对象编程的三大特征: (1) 封装性,封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法)才能对数据进行操作. (2) 继承 ...