ui自动化在robotframework中采用的分层设计

CQUqinghua CQUqinghua     2022-11-29     312

关键词:

RF测试数据

 RF测试数据由4种表数据组成。这些测试数据由表的第一个单元格标识,名称和用法如下:

表名

用法

别名

设置表

导入测试库,资源文件和变量文件。为测试套件和测试用例定义元数据

Setting settings metadata

变量表

定义可在测试用例中其他位置使用的变量

Variable variables

用例表

测试用例

Test Case

关键字表

从现有的低级别关键字创建用户关键字

Keyword  User Keyword

 

      其中,分层思想直接体现在关键字表和用例表。

      RF分层设计模式其实就是根据需求使用抽象与封装关键,把一个实现过程分成不同多层。把代码根据脚本特征拆封开来,提高代码的灵活性和清晰度,从而也让一些组件层内容可扩展、可复用、可维护。这种设计基于RF的关键字驱动。

  具体的做法就是:通过调用的关键字不同,从而引起测试结果的不同。“关键字”的底层其实还是程序定义的方法。我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。

      RF分层可大致分为 元素层、组件层、流程层,用例层四层。当然可以根据项目实际应用采取减少层次或者增加层次,核心设计思想就是覆盖测试流程的基础上增加代码的复用程度,减少重复代码量。

    以测试页面登陆为例子:

   元素层:

   将测试过程中用到的变量等的数据元素集中在这里。如果需要修改测试的基础数据,例如定位的元素等。这里采用定义变量和用户关键字均可。如果元素有变动,修改起来很方便。

 

 

  组件层:

   页面上的功能组件操作的封装。创建之前应先导入元素层的资源。除了个别流程的独有操作,这一层应该实现操作步骤的细化封装,例如登陆页面的操作有:打开网址、输入用户名、输入密码、点击登陆按钮等。每一个动作都可以拆分,形成独立的关键字。

 

 

流程层:

    组件层基础上的进一步封装。要求能覆盖掉所有的测试流程,同时兼顾用例中输入的灵活性。

 

 

用例层:

   测试用例执行。经过业务流程层的拼装,可以像写列表一样编写测试用例。

 

   封装的资源数据流转顺序如下:

 

robotframework使用phantomjs进行无界面ui自动化测试

RobotFramework是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了。一种通用的WebUI自动化测试解决方案是RobotFramework+Selenium2Library(RFS)。一般要使用Selenium2Library库,必须配置好浏览器驱动(driver)。不然就无法... 查看详情

如何在 Robot Framework 中比较两个图像

】如何在RobotFramework中比较两个图像【英文标题】:HowtocomparetwoimagesinRobotFramework【发布时间】:2017-02-2213:50:26【问题描述】:我是自动化方面的新手,想自动化一个网站,其后端采用HTML5并包含画布元素。我想将画布图像与我存... 查看详情

robotframework+python自动化入门五(suitesetup/teardown+resource文件+locator和数据封装)

...创建和执行。在《RobotFramwork+Python自动化入门二》中,对RobotFramework的关键字使用和查看源码进行了介绍。在《RobotFramwork+Python自动化入门三》中,完成了web自动化脚本开发的入门。在《RobotFramwork+Python自动化入门四》中,介 查看详情

robotframework框架执行ui自动化用例,都调用一个公共测试库,怎么只打开一个浏览器

WebOpLib.py测试库fromseleniumimportwebdriverfromcfgimport*classWebOpLib():defopenwebsite(self):self.driver=webdriver.Chrome()self.driver.maximize_window()self.driver.implicitly_wait(10)defTeacherLogin(se 查看详情

robotframework+python自动化入门三(web自动化)

...创建和执行。在《RobotFramwork+Python自动化入门二》中,对RobotFramework的关键字使用和查看源码进行了介绍。本节,介绍基于Web的RF自动化。一、环境配置1.下载浏览器驱动程序执行web端的测试脚本时,需要浏览器驱动,不同浏览器... 查看详情

RobotFramework:如何在特定的 PC 屏幕上打开测试自动化?

】RobotFramework:如何在特定的PC屏幕上打开测试自动化?【英文标题】:RobotFramework:howtoopentestautomationonaspecificPCscreen?【发布时间】:2022-01-1702:51:27【问题描述】:我正在使用RobotFramework。我使用“浏览器”库和“SeleniumLibrary”库... 查看详情

三年磨一剑,robotframework自动化测试框架核心指南,真正讲透robotframework自动化测试框架(笔者新书上架)。

序关于自动化测试的工具和框架其实有很多。自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不开自动... 查看详情

学习使用robotframework自动化测试框架——简单介绍与安装方法

最近公司项目组使用到了RobotFramework自动化测试框架来进行部分的测试工作,这是一个关键词驱动的自动测试化框架,可以用在多个平台的项目测试中,非常容易上手。1.RobotFramework的特点简单说明一下RobotFramework的特... 查看详情

robotframework实现多平台自动化测试

基于RobotFramework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著提高了测试质量和测试用例的执行效率。设计目标平台通用且支... 查看详情

robotframework手把手教学:提交数据失败了可怎么办?

参考技术A在接口自动化测试过程中,经常遇见提交数据的接口测试,开发设计的提交数据的方式常为POST、PUT、PATCH等,对于这些接口测试同学们也不陌生,几乎做接口自动化测试都会涉及。在提交数据过程中,不知大家是否遇... 查看详情

为什么自动化测试框架中优先用pytest而不是robotframework?(代码片段)

...自动化测试框架的优缺点对比。之前曾提问请教过Pytest和RobotFramework的优缺点对比,由于网上关于这方面的信息比较少,收到大家的反馈建议,十分感谢,现在是该总结一下了,欢迎大家一起交流探讨。在对比... 查看详情

robotframework作者建议怎么选择自动化测试框架

...手工测试的替代,越来越受到关注。PekkaKlärck,作为RobotFramework的创建者和核心开发者,按照系统级别,介绍了几种不同的自动化测试方法的区别。  一、记录回放的方式流行于商业工具之中,无需编程技能即可快速上手。... 查看详情

robotframework自动化测试---元素定位(代码片段)

不要误认为Robotframework只是个webUI测试工具,更正确的理解Robotframework是个测试框架,之所以可以拿来做webUI层的自动化是国为我们加入了selenium2的API。比如笔者所处工作中,更多的是拿Robotframework来做数据库的接口测... 查看详情

python3.6+robotframework自动化框架环境搭建学习笔记(代码片段)

... 一、环境搭建概览:win7+python3.6 +pycharm+ robotframework +IntelliBot+fireFox1.安装相关的库推荐使用pip安装,如pipinstallrobotframework(以及selenium2library)研发环境没外网,采用离线安装,down包后解压--进入--pyt... 查看详情

robotframework自动化测试第一个用例

RIDE启动界面:首先创建一个Testproject File-NewProject ,选择Directory类型 在创建的文件夹上右键,创建一个TestSuiteOpenbaidu,NEWSUITE,选择ROBOT类型 接下来添加一个Testcase到上述TestSuite  点击测试套,在右侧添加Library... 查看详情

robotframework自动化框架环境搭建及使用

...复利用。1.节省人力资源2.提高效率3.面试需要二、什么是RobotFramework:基于Python的关键字驱动的自动化框架。1.基于Python:就是由python语言开发的这个框架。2.关键字驱动:关键字驱动测试又称为表格驱动测试,是自动化测试的一... 查看详情

app分页探讨

...式,主要是Web分页和流式分页的区别:在实际生产中往往采用折中的方式,比如自动加载几次后让用户手动点击“更多”继续加载,或者在信息流中间增加用于定位的页码;再从开发的角度来看,可以分为前端分页与后端分页,... 查看详情

robotframework+selenium2library环境下,结合seleniumgrid实施分布式自动化测试(代码片段)

...行执行用例需求背景公司的产品属于webapp,采用的是RobotFramework+Selenium2Library作为自动化测试的框架。脚本开发完毕,在推广试用的过程中,测试人员反馈了一个问题:当case数量很多的时候,需要执行很长... 查看详情