背景

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

设计方案

方案一:

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

这里我们以web测试为例:

test-arch-robot.png

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

方案二:

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

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

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. 中文支持问题已经解决了。

Robot Framework测试用例并行执行相关推荐

  1. Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库

    1. 创建测试工程 RIDE工具中有Project概念,实际上Robot Framework中是没有工程的概念,可以理解为最顶层的测试套. 1.1. 新建测试工程 点击 File–>New Pr ...

  2. 【Android自动化测试】Robot Framework+adb框架(五)——L1层测试用例

    前言 Robot Framework是一款用Python编写的通用型测试框架,具有良好的可扩展性,支持关键字驱动,可以同时测试多种类型客户端(Web,PC,移动端)或者接口,也可以进行分布式测试执行. ...

  3. Robot Framework用户指南

    Robot Framework用户指南 版本2.8.6 版权所有©诺基亚解决方案和网络2008-2014 根据知识共享署名3.0 Unported许可授权 目录 1开始 1.1简介 1.2版权和许可 ...

  4. Robot Framework(十八) 支持工具

    5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...

  5. 【转】Robot Framework 快速入门

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  6. Robot Framework简介及在汽车电子测试中的应用

    前言 汽车电子软件扮演着越来越重要的角色,为适应市场变化,车载软件和功能的开发需要快速迭代.敏捷开发.持续测试.CI/CT/CD实现和DevOps等成了汽车电子行业的高频词,也正在帮助OEM和零部件供 ...

  7. Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试

    最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...

  8. 使用Robot Framework实现多平台自动化测试

    本文章出自[码同学软件测试] 码同学公众号:自动化软件测试 码同学抖音号:小码哥聊软件测试 基于Robot Framework.Jenkins.Appium.Selenium.Requests.Aut ...

  9. 8s 接口压力测试_Python Locust 基于Robot Framework实现关键字驱动接口性能测试

    上一篇文章Python Locust 基于Robot Framework实现关键字驱动接口性能测试中,我们分享了如何利用Locust库结合Robot Framework实现接口的性能指标的持续性比较, ...

最新文章

  1. Asp.net(C#)给图片加上水印效果(转自园上的Seven Eleven)
  2. ICON: 从单张图片重建穿衣服人体模型
  3. 语言 重量计算_R语言 第五章 高级绘图工具(4)
  4. 方法级别权限控制-基本介绍与JSR250注解使用
  5. mysql直接生成excel_MYSQL 将excel里面的数据直接生成sql语句
  6. 将Spock 1.3测试迁移到Spock 2.0
  7. HIRO 部署新一代可扩展边缘微型数据中心
  8. mysql sql 备份数据_mysql怎么进行数据库备份和还原,以及自动备份
  9. 测试手机游戏平均帧率软件,想测试手机游戏帧率吗?最Skr帧率测试步骤都在这里!...
  10. 考勤打卡记录数据库表结构_考勤系统数据表结构
  11. mkvtoolnix视频转换 v51.0.0中文版
  12. 俄亥俄州立大学计算机专业排名,俄亥俄州立大学哥伦布分校计算机科学专业排名第30(2020年USNEWS美国排名)...
  13. arcgis更改默认路径
  14. 跳过selenium检测爬取淘宝直通车
  15. ubuntu安装firefox flash插件
  16. 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送
  17. 【bug】vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to mount component: template or render function
  18. MySQL between and语句包括两端
  19. Spring及Springboot IOC与AOP思考
  20. Android 开机动画(bootanimation)启动

热门文章

  1. python调用matlab环境配置、非常详细!!!_Python调用Matlab2014b引擎
  2. 临床重症医学数据库MIMIC、eICU、PIC介绍
  3. 2021肿瘤学,所有SCI期刊都在这里
  4. 各种测序基础知识汇总
  5. ubuntu安装搜狗输入法-全面版
  6. Spring Boot程序无法加载主类解决方法
  7. mac 设置默认python为python3
  8. java xheditor 上传图片_xhEditor粘贴图片自动上传到服务器(Java版)
  9. C指针原理(8)-C内嵌汇编
  10. 机器学习模型可解释性的6种Python工具包,总有一款适合你!