如何用 Robotframework 来编写优秀的测试用例

接口自动化测试之RobotFramework测试接口(一) 说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.youkuaiyun.com/qq_41782425/article/details/104262545 一、Robot Framework 简介 1.什么是 Robot Framework 由 Nokia Siemens Networks(诺基亚西门子)开发。 Robot Frame... 阅读详情

介绍

这篇文档将会是一篇在「高层面」的怎么用 Robotframework 来编写优秀测试用例的原则。至于如何使用 Robotframework 来与您的待测试系统相作用这样的细节讨论是不包含在这篇文档中的。
最重要的一条原则就是保证测试用例对于(不?)熟悉这个领域的人来讲越简单越好。
关于这个主题的更多信息,你可以查看以下这些优秀的资源:
Writing Maintainable Automated Acceptance Tests 作者:Dale H. Emery
How to Structure a Scalable And Maintainable Acceptance Test Suite 作者:Andreas Ebbert-Karroum
命名

测试套件的命名

套件的名称应该尽可能地描述这个套件的用途。
名称可以相对长一些,但是如果超过40个字那也太长了一些。
记住 Robotframework 的套件名称是直接从文件/目录的名字转换来的。文件的后缀名被去掉了而且下划线会被转换成空格,如果你的用到的单词都是小写的,那么开头字母会被转换成大写的。比如 login_test.txt 会被转换成 Login Tests, DHCP_and_DNS 会被转换成 DHCP and DNS。
测试用例的命名

测试用例的名字应该与套件的名字描述相似。
如果一个套件里包含了好多个相似的测试用例,而且测试套件本身已经很好地命名了,那么用例的名称可以简短一些。
在测试用例文件中的名称应该恰好表达了你需要做什么。
关键词命名

同样的,关键词的名称也应该是清晰具体的。
应该可以表达这个关键词干了什么,而不是它如何去做。
关键词应该是非常不同的抽象层次(比如,「输入字符」或者「用户登录到系统」)。
生成和分解的命名

试着用名称来描述这个步骤完成了什么。
或许你可以用一个已经存在的关键词
如果生成或者分解包含了不相关的步骤,那么可以接受更抽象一点的名称。
在名称中列举步骤是一个重复化和维护的问题(比如:登入系统,添加用户,激活警报和检查平衡)。
或许需要用到一些通用一些的名称比如「初始化系统」
每个用到这几个测试用例的人都需要明白这几个生成或者分解动作是干什么的。
文档

测试套件的文档

通常把文档添加到包含测试用例的最底层套件中是一个不错的想法。
高层的套件不需要那么频繁地文档化。
文档应该包含必要的背景信息,比如为什么要创建这些测试用例,测试环境中需要注意的点等等。
文档内容不要只是简单地重复套件的名称。
如果不是真的有文档还不如不添加文档。
文档的内容不要包含关于测试用例的太详细的信息。
测试用例本身就应该足够清楚易懂了。
重复的信息是一种浪费,而且也不容易维护。
文档中可以添加一些详细内容的链接。
如果你需要在文档中添加一些比如(版本:1.0 或者 OS:Linux)这样的「名称-值」组的话,可以考虑使用测试套件 metadata
测试用例的文档

测试用例通常来说不需要文档。
套件名称和文档以及用例的名称已经提供了足够的背景信息。
测试用例的结构应该是不需要文档或者其他注释都足够清楚了的。
Tag 通常比文档更灵活,还能提供更多的功能。
当测试用例的文档是有用的时候,也不要担心而不去添加哟。
用户自定义关键词文档

如果这个关键词非常简单明了的话,不需要文档。
好的名称和明确的结构就足以说明一切了。
用户自定义关键词文档的一个重要的用途是用来记录参数和返回值的信息。
在 RIDE(比如在关键词补全的地方)以及在资源文件中显示的文档是由 libdoc.py 生成的。
测试套件的结构

在套件中的用例应该是互相相关的。
如果测试用例拥有同样的生成或者分解部分,那么他们应该是属于一个套件的。
除非是数据驱动的,在一个套件中不要放10个以上的测试用例。
测试用例应该是独立的。
用生成和分解来初始化他们。
有时候如果测试用例之间无法避免地相关联
比如说,它可能是因为把所有的用例独立出来要化太多的时间在初始化上。
相关联的测试用例就那么几个(最多4到5个)
下一个用例是用来验证上一个用例的结果的。(用${PREV TEST STATUS} 这个变量)
测试用例的结构

测试用例应该是易懂的。
一个测试用例只测试一件事情。
当然,事情本身可大可小。
选择一个合适的抽象层面。
一致地使用抽象水平(单一水平的抽象原则)
只包含与测试相关的信息。
用例可以分为两种
工作流程的测试用例
数据驱动的测试用例
工作流程的测试用例

通常来说有以下这些部分:
前置条件(可选,通常在生成部分)
动作 (对被测系统执行一些动作)
验证 (必须有一个验证的部分!)
清理 (可选,通常在分解部分,以保证用例已经执行完毕)
关键词是用来描述这个用例做了什么。
用清晰的关键词名称和合适的抽象层次。
应该包含足够的信息使得手动执行可以启动。
应该从来不需要文档或者沟通来告诉你这个用例在做什么。
不同的用例可以有不同的抽象层次。
详细的功能测试是更精确的。
端到端的测试可以是一个很高的抽象层次。
一个测试用例应该只使用一种抽象层次。
不同的风格
对于底层的详细测试和集成测试用例来讲应该是更关注技术细节。
「可执行定义」来扮演需求。
使用领域中的语言(术语?)。
所有人(包括顾客和产品负责人)都应该可以看明白。
不复杂的逻辑
不用 for 循环或者 if/else 判断结构。
小心给变量赋值。
测试用例不应该看起来像脚本一样难读。
最多10步,越少越好。
数据驱动的测试用例

每个测试用例有一个高层次的关键词。
不同的参数创建不同的测试。
关键词通常包含了与同一个用例文件中工作流程测试用例中描述的流程类似的流程。
推荐使用测试模板功能。
不需要多次地去重复关键词。
在一个用例里去测试更容易去测试多种变化。
如果可能,推荐在列头部命名。
如果真的需要很多测试用例,考虑把他们做成依赖于外部的模型。
用户定义关键词

应该容易让人理解
和工作流程测试用例一样的标准。
不同的抽象层次。
可以包含一些编程逻辑(for 循环,if 判断这些)
特别对于底层的的关键词。
复杂的逻辑应该放在库里而不是用户定义的关键词里。
变量

封装常的或者复杂的值。
从命令行传递信息。
在关键词之间传递信息。
变量的命名

清楚,但是不要太长。
可以在变量表格里用注释来说明。
对每个使用场景保持一致:
小写的本地变量只在当前的用例或者关键词中可用。
全局变量或者套件,用例级别的变量需要大写。
空格或者下划线都可以用来分割变量中的词。
推荐在变量表格中也把设置成动态的变量也列出来。
用Set Global/Suite/Test variable关键词来命名变量。
变量的初始值应该可以解释真实的值应该是什么。
传递和返回值

通常的方式是通过关键词来返回值,把他们赋给变量,然后传递给其他关键词的参数。
清楚易懂地遵循这个方法。
看起来像是编程。
备选方案是使用Set Test Variable关键词
不需要在测试用例层面上有什么编程风格。
要遵循起来比较复杂,很难重用关键词。
避免以下这种测试用例层级。
避免使用sleeping

Sleeping 是非常脆弱的。
平均来说,安全的边界值会使得 Sleeping 很长时间。
用包含了一定的动作触发的关键词来替代 Sleeping
等待需要有一个超时的值。
关键词可以用 Wait Until… 来开头
可能的话用内置的关键词 Wait Until Keyword Succeeds来包装其他关键词。
有时候 Sleeping 是一种最简单的解决方式
请总是小心使用,不要在经常用到的自定义关键词或者其他关键词中用 Sleeping。
在 Debugging 的时候 Sleeping 用来暂停测试执行还是很有用的。
虽然 DialogsLibrary 通常更适合用来干这个。

如何编写Robot Framework测试用例1---(基本格式篇) 立即下载

相关推荐

robotframework使用+相关的自动化测试教程

此资料包含python的教程、robotframework入门教程、robotframework自动化测试教程、robotframework+selenium使用教程、关键字驱动的研究与应用等,以及如何用robotframework来编写优秀的测试用例等文档。

如何用 Robotframework 来编写优秀的测试用例(中文版)

介绍 这篇文档将会是一篇在「高层面」的怎么用 Robotframework 来编写优秀测试用例的原则。至于如何使用 Robotframework 来与您的待测试系统相作用这样的细节讨论是不包含在这篇文档中的。最重要的一条原则就是保证测试用例对于(不?)熟悉这个领域的人来讲越简单越好。关于这个主题的更多信息,你可以查看以下这些优秀的资源:Writing Maintainable

murphy_ma的专栏 2500

测试用例示范 教你如何写测试用例

教你如何写测试用例 不会写测试用例的朋友可以参考

Robotframework用例编写

注:用例编辑页面:Edit 第一列:表示关键字 【关键字填写正确会显示蓝色,如下图所示】  第二列及后面其他列:表示参数,红色表示必填,灰色表示选填 RIDE界面 创建测试项目 选择菜单栏File→New Project Name    --输入项目名称 Type      --选择Directory 创建测试套件 右键点击“测试项

lykio_881210的博客 5122

如何编写RobotFramework测试用例1---(基本格式篇)

引子   我们使用符合RobotFramework规范的一种表格语法来编写测试用例。用例一般会是下面这个样子   这样的表格存储到一个文件中,就是一组测试用例。RF支持多种格式,如HTML,TSV,纯文本等。它们长相大同小异,其实描述的都是一种内容。为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的。   测试用例与文件的关系   一个文件被称作一个测试套件(Testsuit),期间可以包含多个测试用例。上图就是一个测试套件,里面包含2个测试用例,MyTest和AnotherTest。   Testsuit也能嵌套,比如同一个目录下的多

Simulink中通过MEX与MinGW实现C/C++结构体变量的高效导入

本文详细介绍了在Simulink中通过MEX工具链与MinGW编译器,高效导入C/C++结构体变量的完整流程。文章从需求背景出发,逐步讲解了MinGW环境配置、.h文件编写规范、核心导入命令Simulink.importExternalCTypes的使用,以及如何在MATLAB Function模块和总线创建器中调用自定义结构体,旨在实现模型与代码的无缝对齐,为后续仿真和代码生成奠定坚实基础。

weixin_29056781的博客 344

robotframework框架 - 在Pycharm当中编写RobotFramework测试用例

众所周知,pycharm是个写python极好用的编辑器。也可以装很多的插件来完成各种骚操作。

软件测试技术资源分享官 1653

【MM小贴士】关于SAP系统中关税的处理方式

的运费,这部分来讲,我们关税的计价基础,就应该是货物价值+包邮到中国港口的运费,完后进行报关操作,缴纳关税,后半段从中国港口拉回到企业里面的运输费,就会做到费用里面去,而不是计入到存货成本。1、我们自己的企业和国外厂家A购买一项物资,厂家A的报价会分成几个组成部分货物本身的价值或者货物本身的价值+到国外港口的运费或者货物本身的价值+到中国港口的运费或者货物本身的价值+包邮到你们自己企业的整体运费。所以我的关税就是不确定的。重点是运费是哪一段的运费,如何结算,结算的货币,何时能够确定运费。.........

竹大的博客 9029

Robotframework怎么生成测试报告

1. 创建项目写好测试用例 2. 用命令方式运行命令 打开cmd Window 命令提示符,切换到 Robot Framework 项目目录。 a.运行指定用例 pybot xxx.robot b.运行所有以robot为后缀的测试用例 *pybot .robot c.运行当前 目录下的所有用例: pybot F:\RFtest\XX 3.当通过上面的命令运行测试,Robot Framework...

weixin_42166361的博客 3076

NXP S32K1 SPI驱动实战:从配置到DMA传输的完整流程解析

本文深入解析了NXP S32K1系列MCU的SPI驱动开发全流程。基于S32 Design Studio环境,详细阐述了从引脚配置、LPSPI模块初始化,到实现阻塞、中断及DMA三种传输模式的实战代码与配置要点。文章重点剖析了DMA传输的配置细节与性能优化,旨在帮助开发者构建高效、稳定的嵌入式SPI通信,并提供了SPI Flash驱动的综合案例。

blue42的博客 717

ESP32蓝牙配网实战:微信小程序中的blufi协议实现与优化

本文详细介绍了在微信小程序中实现ESP32蓝牙配网的实战经验,重点解析了blufi协议的应用与优化。内容涵盖从开发环境配置、协议帧格式解析,到小程序端蓝牙通信、数据转换的核心步骤,并提供了配网状态机设计、错误处理及性能调优等进阶方案,旨在帮助开发者高效、稳定地完成物联网设备配网功能开发。

weixin_29159613的博客 459

RobotFramework开发项目应用和规则

RobotFramework开发项目应用和规则(locator,keyword等需要一定命名规则,方便维护): 另外,开发企业级别的Keyword时: 1)尽量开发到最小单元,方便维护。 2)Locator命名规则要注意,防止和其他page同名locator,否则RF报错。 3)keyword命名规则要注意,防止和其他page同名keyword,否则RF报错。 ...

HS_Levis的博客 289

vivado生成及调用自定义IP的方法

开发环境:vivado 2018.2 1.将整个工程封装为自定义IP 将整个工程封装为自定义IP主要有以下步骤: 步骤1.选中工程中的top模块。点击Tools ------> Create and Package New IP,如图1所示 图1 步骤2.弹出界面后,点击next至图2界面,选择Package your current project,然后继续点击next 图2 步骤3.选择生成的IP路径,如图3所示。这个路径就是后续添加该IP的路径 图3 步骤4.继续点击next,然后选择fi

进击的阿日比 4731

如何用 Robotframework 来编写优秀的测试用例(英文版)

Guidelines for writing good test cases using Robot Framework. en, ja Updated Nov 21, 2012 by pekka.klarck IntroductionNaming Test suite namesTest case namesKeyword namesNaming setup an

murphy_ma的专栏 2755

PCA9698嵌入式C++驱动库:高性能I²C GPIO扩展方案

GPIO扩展是嵌入式系统中解决MCU引脚资源不足的关键技术,其核心原理在于通过串行总线(如I²C)桥接主控与外设寄存器,实现逻辑引脚到物理IO的映射与状态同步。技术价值体现在低开销、高确定性与多设备可扩展性,广泛应用于工业控制、传感器节点和LED矩阵驱动等实时场景。本文聚焦PCA9698——一款支持24通道双向IO、中断输出与可编程驱动模式的I²C GPIO扩展芯片,结合其C++驱动库的影子寄存器机制、端口级原子操作及非阻塞同步设计,提供面向资源受限平台(如ATmega2560)的工程就绪方案。

weixin_35756637的博客 627

哈工大2021年秋季学期数据结构期末试题

因为考完试没有收演草纸,所以题中数据与考试差距不大。选项顺序可能略有差异;选择第5题希尔排序的序列数据是后编的;简答第3题B-树的插入序列顺序可能不同,但是考察的点是一样的。其他题的数据基本可以保证和原题一样。 一、选择题 111.以下代码的时间复杂度是 for(int k=1;k<=n;k++) for(int j=1;j<=n;j++) count++; A.O(n)       B.O(nlogn) &

Castria的博客 4272

如何使用RobotFramework编写好的测试用例

如何使用Robot Framework编写优秀的测试用例 概述 命名 测试套件命名 测试用例命名 关键字命名 setup和teardown的命名 文档 测试套件文档 测试用例文档 用户关键字文档 测试套件结构 测试用例结构 工作流测试 数据驱动测试 用户关键字 变量 变量的命名 传参和返回值 避免使用Sleep关键字 我...

weixin_34212762的博客 197

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1297

如何用 Robot Framework 来编写优秀的测试用例

介绍 这是一篇描述怎么用 Robot Framework 来编写优秀测试用例的高级指南。 至于如何使用 Robot Framework 来与您的待测试系统相作用这样的细节讨论是不包含在这篇文档中的。 最重要的一条原则就是保证测试用例对于(不?)熟悉这个领域的人来讲越简单越好。 同样也需要容易维护 关于这个主题的更多信息,你可以查看以下这些优秀的资源: Robot Framework Dos a

Javon的技术积累 4143

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

自动化测试robotframework框架(一)

RobotFrameWork

weixin_58374760的博客 2994

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

RobotFramework环境配置

RobotFramework环境配置 1.安装相关库 安装python ,官网地址:https://www.python.org/ 2.安装RobootFramework 方法一:pip install robotframework(由于访问的是国外镜像,在网络不好的情况下下载速度可能有点慢) 方法二:pip install robotframework -i https://pypi.doubanio.com/simple/ -i :访问的是国内镜像,下载速度快,这里使用的是豆瓣的镜像源...

qq_39172055的博客 319

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

RobotFramework & Selenium2Library 安装指南

RobotFramework+Selenium2安装指南 从目前试用的结果看,RobotFramework完全满足轻松构建和维护自动化工程的条件,且有很多优秀的Keyword Library,能够支持不同类型的测试。对RobotFramework还不了解的同学可以去齐涛-道长的博客熟悉下,笔者也是从这篇博客入门,进而学到很多实用的维护技巧。老道长博客里面也有一篇安装指南,内容翔实丰富,列举了手动

adoaiwen1314的专栏 2507

robotframework基础学习(8)

变量的使用 在 Edit 标签页中主要分:加载外部文件、定义内部变量、定义元数据等三个部分。 (1):加载外部文件Add Library:加载测试库,主要是[PYTHON 目录]\Lib\site-packages 里的测试库 Add Resource:加载资源,主要是你工程相关的资源文件 Add Variables:加载变量文件。 (2):定义内部变量Add Scal...

weixin_30653023的博客 311

RobotFramework 学习记录

安装 RobotFramework     RF 是基于 python 的,所以一定要安装 python 环境。它是一个通用的验收测试和验收测试驱动开发的自动化测试框架,首先安装 python,然后通过pip install robotframework==2.8.5安装 robotframework,(后面的内容只针对 python2 环境)然后安装 wxPython(wxPython 是 P...

Guanngxu的博客 1879

windows上配置robotframework环境

2)在键盘敲击win+R组合键 ,输入cmd,点击确定按钮进入命令行模式,输入命令:cd E:\安装包\robotframework\robotframework-3.0.2\robotframework-3.0.2进入解压目录,然后输入命令python setup.py install,点击回车按钮。安装成功 pip -V查看版本。(1)双击wxPython2.8-win32-unicode-2.8.12.1-py27.exe,点击运行按钮,一直点击Next,直至安装完成。

m0_51105025的博客 701
上一篇: Robot Framework 入门教程总结
下一篇: Robot Framework(基础知识)
whackw
博客等级 码龄16年 203粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值