RobotFramework中的执行顺序以及乱序执行策略

2024-06-21 13:08

本文主要是介绍RobotFramework中的执行顺序以及乱序执行策略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先我们先看看我们的测试执行顺序

Suite Setup   === 所有suite的初始化等工作,如果测试中含有不同的suite,每个suite可以不同的setup,setup不是必须的

Test case setup    == 每条测试用例前会运行该方法,确认所有测试用例的setup,当然单个测试用例,可以有自己的setup

Test case1 execution

Test case teardown   == 每条测试用例结束都运行这个函数,可以在这里做case的清理工作,比如退回到桌面,出错时截图等等

Test case setup

Test case2 .。。。 execution

Test case teardown

Suite Teardown == suite的清理工作

 

在上面我们看到所有的测试用例都是test1 test2 testN等顺序执行,当我们测试用例使用过程中,第一次或前几次能够发现问题,可是后来发现不了任何问题了,是不是我们的执行顺序固话导致呢?很有这种可能,根据以前的经验和教训来说,这种可能性很大,特别是项目的初始及中期。

所以亟待我们寻找一种乱序执行法,来满足测试用例乱序执行,发现应用之间相互影响带来的问题。

对于RobotFramework,我们使用如下方法来乱序执行:

3.4.7   Randomizing execution order

The test execution order can be randomized using option --randomize <what>[:<seed>], where <what> is one of the following:

tests

Test cases inside each test suite are executed in random order. 我们常用的是这个选项

suites

All test suites are executed in a random order, but test cases inside suites are run in the order they are defined.

all

Both test cases and test suites are executed in a random order.

none

Neither execution order of test nor suites is randomized. This value can be used to override the earlier value set with --randomize.

Starting from Robot Framework 2.8.5, it is possible to give a custom seed to initialize the random generator. This is useful if you want to re-run tests using the same order as earlier. The seed is given as part of the value for --randomize in format <what>:<seed> and it must be an integer. If no seed is given, it is generated randomly. The executed top level test suite automatically gets metadata named Randomized that tells both what was randomized and what seed was used.

Examples:

pybot --randomize tests my_test.txt
pybot --randomize all:12345 path/to/tests

这篇关于RobotFramework中的执行顺序以及乱序执行策略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081308

相关文章

【数据结构】线性表:顺序表

文章目录 1. 线性表2. 顺序表2.1 概念及结构2.2 接口实现2.3 顺序表的问题及思考 1. 线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式

剑指offer(C++)--翻转单词顺序列

题目 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? class S

服务器雪崩的应对策略之----SQL优化

SQL语句的优化是数据库性能优化的重要方面,特别是在处理大规模数据或高频访问时。作为一个C++程序员,理解SQL优化不仅有助于编写高效的数据库操作代码,还能增强对系统性能瓶颈的整体把握。以下是详细的SQL语句优化技巧和策略: SQL优化 1. 选择合适的数据类型2. 使用索引3. 优化查询4. 范式化和反范式化5. 查询重写6. 使用缓存7. 优化数据库设计8. 分析和监控9. 调整配置1、

Redis-在springboot环境下执行lua脚本

文章目录 1、什么lua2、创建SpringBoot工程3、引入相关依赖4、创建LUA脚本5、创建配置类6、创建启动类7、创建测试类 1、什么lua “Lua”的英文全称是“Lightweight Userdata Abstraction Layer”,意思是“轻量级用户数据抽象层”。 2、创建SpringBoot工程 3、引入相关依赖 <?xml version

js小题:通过字符串执行同名变量怎么做

在JavaScript中,你不能直接使用一个字符串来直接引用一个变量,因为JavaScript是一种静态类型语言(尽管它的类型在运行时可以变化),变量的名字在编译时就被确定了。但是,有几种方法可以实现类似的功能: 使用对象(或Map)来存储变量: 你可以使用一个对象来存储你的变量,然后使用字符串作为键来访问这些变量。 let myVars = { 'var1': 'Hello', 'var

设置Nginx缓存策略

详细信息 Nginx服务器的缓存策略设置方法有两种:add_header或者expires。 1. add_header 1)语法:add_header name value。 2)默认值:none。 3)使用范围:http、server、location。 配置示例如下: add_header cache-control "max-age=86400";#设置缓存时间为1天。add

Go 三色标记法:一种高效的垃圾回收策略

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO系列: 记录博主学习GO语言的笔

【C语言】顺序表(下卷)

本文继续讲顺序表上卷未讲完的相关内容。(简短的补充) 在指定位置之前插入数据 test.c SeqList.c  SeqList.h //在指定位置之前插入数据void SLInsert(SL* ps, int pos, SLDataType x); 在指定位置删除数据 test.c  SeqList.c   SeqList.h //在指定位置删除数据

文华财经T8自动化交易程序策略模型指标公式源码

文华财经T8自动化交易程序策略模型指标公式源码: //定义变量 //资金管理与仓位控制 8CS:=INITMONEY;//初始资金 8QY:=MONEYTOT;//实际权益 8QY1:=MIN(MA(8QY,5*R),MA(8QY,2*R)); FXBL:=N1; DBKS:8QY1*N1;//计算单笔允许亏损额度 BZDKS:=MAX(AA-BB,N*1T)*UNIT; SZDKS:=MAX(

Class 对象在执行引擎中的初始化过程

一个 class 文件被加载到内存中需要经过 3 大步:装载、链接、初始化。 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。 链接 链接过程分为 3 步:验证、准备、解析。 验证: 初始化 这是 class 加载的最后一步,这一阶段是执行类构造器方法的过程,并真正初始化类变量。 1.文件格式检验:检