前言

上篇文章搭建了Jenkins-slave的分布式测试环境,我一直在想一个问题,使用这种模式能不能实现并发的自动化测试?我的想法是:同一套UI自动化的测试代码,是否能够通过一个Job绑定多个slave,让多个slave同时执行这一个Job,我觉得实际工作中应该会有这种需求,但是网上搜索了好多资料并没有找到实现方法,于是只能自己搞了;我的标题叫Jenkins-slave实现并行的自动化测试,为什么不是并发呢,因为我觉得我这种实现方式并不像并发,只能算是并行,但是和我预期的需求很相似,也能初步实现我的需求;下面我就把我实现的过程分享给大家,无论有用无用,希望你能加入到我的讨论中来,Jenkins很强大,也许有其他插件或者方式能完美的实现并发测试,但奈何能力有限,只能自己琢磨着玩

slave节点配置

1. 准备两台实体计算机:ip为192.168.1.101(win7)的机器同时作为Jenkis服务器和一个slave节点,ip为192.168.1.103(win10)的机器作为另一个slave节点服务器

2. 分别新键这两个slave节点,并正确链接上Jenkins服务器,具体配置这里不再赘述,配置完之后节点的状态如下

新键项目

这一步是实现预期需求重要的一步,之前我们构建Job时选择的都是自由风格的,这次我们需要选择构建一个多配置的项目

Jenkins首页点击[New item]-[构建一个多配置项目]

项目配置

General配置

勾选[在必要的时候并发构建]

Configuration Matrix

构建

保存项目

到此为止,整个配置就完成了,也是简单的配置,并无其他复杂内容,其他配置项可以根据自己的需求选择配置,配置成功后你会看到如下界面

没错,这个项目现在被关联了两个salve节点

立即构建

项目配置完成之后,由于我们是第一次构建项目(而且也未配置自动拉取代码库代码),所以需要执行一下立即构建,让系统自动生成一下指定的workspace目录及其他系统所需的目录,第一次构建肯定是失败的,不用管,如果目录成功生成,那么这一步的目的就达到了

接着分别在两台计算机中找到对应的远程工作目录,你会发现系统自动生成了如下的目录

以上工作空间目录结构是其中一台电脑的,另一台电脑中的目录只有最后以ip地址(配置节点时的标签名命名的)命名的目录不同

下一步我们把测试项目的源代码分别拷贝到以ip为目录的下面

执行构建

所有的工作做完之后,我们再次执行构建

构建结果

构建完成后,我们查看一下项目的控制台输出日志,以及两个节点的控制台输入日志

103节点服务器

101节点服务器

最后

以上就是目前为止我实验出的使用Jenkins-slave实现并行的自动化测试过程,如果你有更好的方法希望你能帮助我,在下方留言告诉我好吗?求之不得

最后再来说一下项目的整个目录结构的组成,方便大家理解

E:\Jenkins\workspace\WebuiTest\label\192.168.1.103

D:\Program Files (x86)\Jenkins\workspace\WebuiTest\label\192.168.1.101

1. D:\Program Files (x86)与E:\Jenkins\workspace:这两个部分分别是配置slave节点时的远程工作目录

2.\WebuiTest\:这个文件夹是配置项目时输入的项目名称

3.\label\:配置项目中Configuration Matrix选项时,输入的名字

4.\192.168.1.103与\192.168.1.101:配置slave节点时输入的标签名

以上的目录结构除远程工作目录是必须已经存在的意外,其他部分均是工具一些配置信息,在构建项目之后自动生成的

Jenkins-slave实现并行的自动化测试的更多相关文章

  1. 集成 Jenkins 和 TestNG 实现自助式自动化测试平台

    背景介绍 在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求.缩短的开发周期.频繁的部署上线.复杂的产品架构和团队组织,如何继续保证软件的质量是一 ...

  2. Jenkins Slave 设置

    Jenkins Slave node环境变量设置有很多trap,在最近的工作当中,我把slave部署在red hat linux 上,进行c++项目的编译部署和发布,但是在执行工程的时候,总会报出某些 ...

  3. jenkins slave 安装服务与卸载

    查看windows 服务 cmd 运行下图用我已经安装的jnlp服务展示效果 : services.msc 关于这个服务名称怎么来的: 我的 工作台路径:如下: 进入jenkins slave 下载j ...

  4. Jenkins Slave Nodes – using the Swarm Plugin

    link: http://www.donaldsimpson.co.uk/2013/03/18/jenkins-slave-nodes-using-the-swarm-plugin/ I’ve bee ...

  5. jenkins slave上执行脚本报错

    jenkins slave上执行脚本报错 解决方法:在系统配置中设置shell execuate C:\Windows\system32\cmd.exe 保存即可

  6. Kubernetes之动态Jenkins slave

    一.前提 本次实践前,需已完成以下过程: 1.搭建好一个Kubernetes集群(本实践为单节点集群),网上参考较多,不赘述. 2.选取kubernetes集群外的一台服务器安装 NFS服务端,并在集 ...

  7. jenkins结合httprunner配置实现自动化测试

    jenkins结合httprunner配置实现自动化测试 自动化测试思路: jenkins发布代码到预发布环境 –> 触发自动化测试预发布环境 à 返回测试结:如果测试通过则将代码推送到生产环境 ...

  8. Jenkins分布式与并行

    目录 一.简介 二.agent 通过JNLP协议增加agent 通过Swarm插件增加agent agent部分详解 三.agent放入Docker 使用Docker 配置Docker私有仓库 四.并 ...

  9. 95、Jenkins部署.net持续集成自动化测试环境

    ##目录 1. 安装Jenkins 1. 配置Jenkins 1. 自动编译 1. 自动部署 1. 自动测试 环境介绍: web服务器机器:192.168.1.7 svn服务器:192.168.1.5 ...

随机推荐

  1. git(一)

    一.邮件的格式 抄送:需要知道这件事的人 内容: 大家好: 我是xxx,附件内容是我的简历,请查收,有问题可以随时联系我susun|开发工程师电话:1231xxxxx31地址:xxxxxx联系电话(公 ...

  2. 关于Git GUI的使用方式

    1.选择Clone Existing Repository 2.选择clone地址和存放位置,然后clone 3失败 4如果失败,让对方去这里(github的界面)邀请下,如果是自己就不用 5然后等待 ...

  3. hgoi#20190517

    T1-Mike and gcd problem Mike给定一个n个元素的整数序列,A=[a1,a2,...,an],每次操作可以选择一个i(1≤i<n),将a[i],a[i+1]变成a[i]- ...

  4. 用Docker搭建LNMP

    程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供 ...

  5. Metasploit学习笔记

    原创博客,转载请注出处! 各位看官可参看——Metasploit实验操作 1.打开msf        msfconsole2.帮助选项:    msfconsole -h        显示在msf ...

  6. scrapy基础知识之制作 Scrapy 爬虫 一共需要4步:

    1.新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 2.明确目标 (编写items.py):明确你想要抓取的目标 3.制作爬虫 (spiders/xxspider. ...

  7. 无法启动iis express web服务器解决

    VS2013 .VS2015 .VS2017调试出现无法启动iis express web服务器 最近自己老是遇到这个问题,天天如此,烦死人,网上答案繁多,但是都解决不了,也是由于各种环境不同导致的, ...

  8. 6.秋招复习简单整理之请你谈谈JDBC的反射,以及它的作用?

    通过反射com.mysql.jdbc.Driver类,实例化该类时会调用该类的静态代码块,该代码块会去java的DriverManager类中注册自己,DriverManager管理所有已注册的驱动类 ...

  9. AWS S3 上传文件

    一.获取签名的URL 通过后端给的接口拿到已经签名好的文件上传的URL地址 二.读取文件(注:AWS 接受的二进制,不能使用form-data) // 获取文件二进制 getFileMd5 = (ke ...

  10. [WPF自定义控件库]了解WPF的布局过程,并利用Measure为Expander添加动画

    1. 前言 这篇文章介绍WPF UI元素的两步布局过程,并且通过Resizer控件介绍只使用Measure可以实现些什么内容. 我不建议初学者做太多动画的工作,但合适的动画可以引导用户视线,提升用户体 ...