Robot Framework测试用例并行执行

简介: 背景在实际的测试业务中,我们往往会遇到测试用例执行时间比较长,大量的测试用例串行执行的话,会使的整个测试周期变长,导致不能及时的反馈自动化测试的结果。因此我们会想出几种解决方案,来并行的执行测试用例,加快自动化测试时间。

背景

在实际的测试业务中,我们往往会遇到测试用例执行时间比较长,大量的测试用例串行执行的话,会使的整个测试周期变长,导致不能及时的反馈自动化测试的结果。因此我们会想出几种解决方案,来并行的执行测试用例,加快自动化测试时间。做到能够及时的反馈测试结果。

设计方案

方案一:

测试用例分布式执行,通过策略,将不同的测试用例,分发到不同的测试机上进行执行,然后收集测试结果,合并测试报告。

这里我们以web测试为例:

img_6ef8d429d4322acff8962fbe17c58cea.png
test-arch-robot.png

通过Hub节点中心,将不同的测试请求分发到合适的测试节点中去,实现测试的分布式执行。

方案二:

在同一台测试机上,启动不同的进程,来分别执行不同的测试用例,根据测试机的CPU核数确定启动的进程数,实现真正的并行执行。

这里我们主要用到了开源工具pabot来实现robot测试用例的并行执行。

img_e127f6822b28f9fe224eaf0bda9502f3.jpe
robot_pabot.jpg

样例

执行下面这个简单的用例,了解并行执行过程。

pip install -U robotframework-pabot==0.35
git clone https://github.com/wywincl/example-for-pabot.git
cd example-for-robot && pabot --processes 5 topsuite

输出

ubuntu2@ubuntu2-PowerEdge-R410:~/tmp/example-for-pabot$ pabot --processes 5 topsuite
2017-01-05 15:48:13.683078 [PID:30072] [3] EXECUTING Topsuite.Testsuite2-测试2
2017-01-05 15:48:13.690442 [PID:30075] [4] EXECUTING Topsuite.Testsuite3
2017-01-05 15:48:13.689776 [PID:30073] [1] EXECUTING Topsuite.2Suite.Testsuite5-测试5
2017-01-05 15:48:13.696798 [PID:30079] [0] EXECUTING Topsuite.2Suite.Testsuite4
2017-01-05 15:48:13.978538 [PID:30077] [2] EXECUTING Topsuite.Testsuite1
2017-01-05 15:48:14.079019 [PID:30077] [2] PASSED Topsuite.Testsuite1 in 0.1 seconds
2017-01-05 15:48:14.089794 [PID:30072] [3] PASSED Topsuite.Testsuite2-测试2 in 0.4 seconds
2017-01-05 15:48:14.091765 [PID:30075] [4] PASSED Topsuite.Testsuite3 in 0.4 seconds
2017-01-05 15:48:14.094498 [PID:30073] [1] PASSED Topsuite.2Suite.Testsuite5-测试5 in 0.4 seconds
2017-01-05 15:48:14.098067 [PID:30079] [0] PASSED Topsuite.2Suite.Testsuite4 in 0.4 seconds
Output:  /home/ubuntu2/tmp/example-for-pabot/output.xml
Log:     /home/ubuntu2/tmp/example-for-pabot/log.html
Report:  /home/ubuntu2/tmp/example-for-pabot/report.html
Elapsed time: 0 minutes 0.664 seconds

小结

结合Jenkins+docker技术,我们可以很方便的基于上面的两套方案,打造分布式并行自动化测试集群。

备注

Does not Support Other Unicode Character Like Chinese Character. 中文支持问题已经解决了。

目录
相关文章
|
3月前
|
JSON 自然语言处理 机器人
接口自动化测试教程:如何使用 Robot Framework
Robot Framework 是一个用于实现自动化测试和机器人流程自动化(RPA)的开放源代码框架。它由一个名为 Robot Framework Foundation 的组织得到推广,得到了多家领军企业在软件开发中的广泛应用。框架以其开放性和灵活性为特点,能够无缝整合各种其他工具,无论团队规模大小,均无需承担额外许可成本。
|
9月前
|
数据可视化 机器人 测试技术
自动化测试 RobotFramework安装以及使用教程
自动化测试 RobotFramework安装以及使用教程
|
JSON 数据管理 测试技术
RobotFrameWork编写接口测试及如何断言
RobotFrameWork编写接口测试及如何断言
111 0
RobotFrameWork编写接口测试及如何断言
|
自然语言处理 机器人
Robot Framework(8)- Collections 测试库常用的关键字列表
Robot Framework(8)- Collections 测试库常用的关键字列表
103 0
Robot Framework(8)- Collections 测试库常用的关键字列表
|
机器人
Robot Framework(7)- DateTime 测试库常用的关键字列表
Robot Framework(7)- DateTime 测试库常用的关键字列表
486 0
Robot Framework(7)- DateTime 测试库常用的关键字列表
|
机器人
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
218 0
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
|
XML 机器人 Java
Robot Framework(5)- 使用测试库
Robot Framework(5)- 使用测试库
231 0
Robot Framework(5)- 使用测试库
|
机器人 测试技术 Python
Robot Framework(4)- 测试套件的基本使用
Robot Framework(4)- 测试套件的基本使用
435 0
Robot Framework(4)- 测试套件的基本使用
|
测试技术 数据安全/隐私保护
RobotFrameWork编写接口测试及如何断言
1. 前言     本篇是第一系列(Http接口自动化)的第五课程,如果对系列课程大纲不清楚的,可以查看《RobotFramework系列免费课程-开课了~》。 前面我们介绍了,在真正实施前,需先定好多人协作过程中约定的接口用例规范,以及开始时,接口项目如何结构化分层,那么今天,我们来聊聊,用RobotFramework如何编写接口用例及如何对用例断言。
3628 0
|
移动开发 机器人 测试技术
Robot Framework+Appium之微信H5自动化测试
前言 总会有人问微信的自动化测试怎么做。其实我不太明白,为啥你要对ta做自动化测试啊,除非你们公司产品是基于微信做的开发否则没必要。即使一个公众号我也觉得没必要做自动化测试,基本功能点下没问题就可以了,毕竟都是配置的,除非你后台配置错了。
3023 0

热门文章

最新文章