RF测试数据

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

表名

用法

别名

设置表

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

Setting settings metadata

变量表

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

Variable variables

用例表

测试用例

Test Case

关键字表

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

Keyword  User Keyword

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

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

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

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

以测试页面登陆为例子:

元素层:

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

  组件层:

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

流程层:

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

用例层:

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

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

UI自动化在RobotFramework中采用的分层设计的更多相关文章

  1. 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  2. RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)

    好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...

  3. RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

    本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...

  4. airtest自动化中的poco+python连接手机实现ui自动化

    airtest:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html官网地址 AirtestIDE:跨平台的UI自动化测试编 ...

  5. robotframework执行UI自动化时不能运行谷歌浏览器的问题

    robotframework执行UI自动化时报错,查看日志显示Parent suite setup failed: Variable '${browser}' not found. Did you m ...

  6. [python]RobotFramework自定义库实现UI自动化

    1.安装教程 环境搭建不多说,网上资料一大堆,可参考https://www.cnblogs.com/puresoul/p/3854963.html,写的比较详细,值得推荐.目前python3是不支持r ...

  7. 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...

  8. 【Android测试】UI自动化代码优化之路

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...

  9. 小心!做 UI 自动化一定要跨过这些坑

    一 .引子 UI自动化,在移动互联网时代的今天,一直都是在各大测试社区最为火爆的一个TOPIC.甚至在测试同行面前一提起自动化,大家就会自然而然的问:“恩,你们是用的什么框架?appium?还是rob ...

随机推荐

  1. 神经网络与机器学习 笔记—支持向量机(SVM)(上)

    支持向量机(SVM)的主要思想: 给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化. 线性可分模式的最优超平面 训练样本{(xi,di)}^N i=1 ,其中x ...

  2. WDK 标准数据类型

    刚刚看到vs2012可以完美支持wdk开发,心中窃喜,正要下载,竟然看到xp不在其支持范围内, 这让刚刚从win7换过来的我真是DT,算了,还是和学习资料保持一致,反正学习的重点不是方便 正题: 为了 ...

  3. 中国石油大学(华东)数学实验(MATLAB)复习

    作者:张世琛 函数的导数 $$ 求函数y=log(x+\sqrt{1+x^2})的一阶和二阶导数 $$ syms x; y=log(x+sqrt(1+x^2)); dydx=diff(y,x); dy ...

  4. CCNA 第三章 TCP/IP简介

    1:DoD模型和OSI模型 2:TCP和UDP的重要特性 3:IP编址: (1):A类地址: 第一字节第一位必须为0,即:0xxxxxxx,取值范围:00000000-011111111:0-127, ...

  5. mysql 连表不要用varchar和int这两种不相同的类型做比较

    他会默认你123abc等于123 说多了都是泪啊

  6. Redis内存——内存消耗(内存都去哪了?)

    最新:Redis内存--三个重要的缓冲区 最新:Redis内存--内存消耗(内存都去哪了?) 最新:Redis持久化--如何选择合适的持久化方式 最新:Redis持久化--AOF日志 更多文章... ...

  7. 【BUAA软工】Beta阶段事后分析

    设想与目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题 总体解决的问题:新手编程者配置编程环境难.本地编写的代码跨设备同步难.本地ide安装使用过程 ...

  8. work2_求交点数

    教学班级:周三上午三四节 项目地址:https://github.com/875571216/- PSP表格 psp2.1 Personal Software Process Stages 预估耗时( ...

  9. 关于ajax的数据传输类型,字符串传输

  10. 《SystemVerilog验证-测试平台编写指南》学习 - 第3章 过程语句和子程序

    <SystemVerilog验证-测试平台编写指南>学习 - 第3章 过程语句和子程序 3.1 过程语句 3.2 任务.函数以及void函数 3.3 任务和函数概述 3.4 子程序参数 3 ...