前言
上篇文章搭建了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節點時輸入的標簽名
以上的目錄結構除遠程工作目錄是必須已經存在的意外,其他部分均是工具一些配置信息,在構建項目之后自動生成的
