Jenkins和robot framework集成(附帶郵件抄邀,groovy腳本優(yōu)化)

1 添加robot插件

2 添加郵件插件


3 在jenkins中添加需要遠(yuǎn)程訪問(wèn)的slave節(jié)點(diǎn)(子節(jié)點(diǎn))

在jenkins系統(tǒng)管理-管理節(jié)點(diǎn)下面點(diǎn)擊新建節(jié)點(diǎn)按鈕,填寫(xiě)相關(guān)信息

填寫(xiě)節(jié)點(diǎn)名稱(chēng),選擇Dumb Slave 選項(xiàng)聚谁,點(diǎn)擊“ok”按鈕评疗,創(chuàng)建一個(gè)slave節(jié)點(diǎn)测砂。

配置slave節(jié)點(diǎn)的相關(guān)屬性信息。


4 配置節(jié)點(diǎn)



a)“遠(yuǎn)程工作目錄”部分需要填寫(xiě)要遠(yuǎn)程控制的服務(wù)器的共享文件夾的地址信息百匆。

如:\\192.168.0.90\testRobot砌些。該地址信息用于存儲(chǔ)jenkins遠(yuǎn)程控制時(shí)需要臨時(shí)放置的相關(guān)文件。

b)“標(biāo)簽”部分內(nèi)容胧华,定義一個(gè)標(biāo)簽名稱(chēng)寄症,用于遠(yuǎn)程調(diào)用時(shí)標(biāo)示的選擇。

c)“啟動(dòng)方法”部分選擇“Launch slave agents via Java Web Start”選項(xiàng)即可矩动。

d)“Environment variables”環(huán)境變量部分需要手動(dòng)添加需要遠(yuǎn)程控制的服務(wù)器上的環(huán)境變量參數(shù)有巧。

該部分內(nèi)容用于jenkins遠(yuǎn)程訪問(wèn)時(shí)可以獲得遠(yuǎn)程控制的服務(wù)器上面的相關(guān)環(huán)境變量。 和服務(wù)器的一致

如:

設(shè)置path為c:\python27;c:\Python27\Scripts;C:\Program Files\Google\Chrome\Application即可悲没。

點(diǎn)擊“save”按鈕保存相關(guān)設(shè)置信息篮迎。查看管理節(jié)點(diǎn)頁(yè)面,出現(xiàn)新添加的slave節(jié)點(diǎn)信息示姿。節(jié)點(diǎn)狀態(tài)展現(xiàn)為未連接


5 在需要控制的遠(yuǎn)程服務(wù)器上安裝jenkins遠(yuǎn)程控制客戶(hù)端代理程序甜橱,并運(yùn)行,使jenkins和遠(yuǎn)程服務(wù)器進(jìn)行連接栈戳。

在需要遠(yuǎn)程控制的服務(wù)器上運(yùn)行jenkins框架訪問(wèn)頁(yè)面岂傲,在jenkins系統(tǒng)管理-節(jié)點(diǎn)管理頁(yè)面中點(diǎn)擊新添加的slave節(jié)點(diǎn),展現(xiàn)如下頁(yè)面子檀。

按照頁(yè)面提示信息镊掖,在cmd中運(yùn)行:“javawshttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”執(zhí)行語(yǔ)句乃戈,安裝slave客戶(hù)端代理程序。

如顯示應(yīng)用程序被安全設(shè)置阻止亩进。需要在java運(yùn)行的安全級(jí)別中添加例外的網(wǎng)站地址信息症虑。

在“所有程序-java”中選擇“configure java”選項(xiàng),打開(kāi)java控制面板归薛,選擇“安全”tab頁(yè)谍憔,在上面添加例外站點(diǎn)列表。點(diǎn)擊“確定”按鈕保存java設(shè)置主籍。


重新在cmd中運(yùn)行:“javawshttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”執(zhí)行語(yǔ)句习贫,彈出slave客戶(hù)端代理程序頁(yè)面,即可連接jenkins和slave服務(wù)器

也可以在彈出的slave客戶(hù)端代理程序頁(yè)面進(jìn)行安裝代理服務(wù)程序千元。


安裝代理服務(wù)程序成功后沈条,在cmd中運(yùn)行:“java -jar slave.jar -jnlpUrlhttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”語(yǔ)句,啟動(dòng)slave客戶(hù)端代理程序诅炉,連接jenkins和slave服務(wù)器蜡歹。

在jenkins中查看節(jié)點(diǎn)連接情況,節(jié)點(diǎn)連接狀態(tài)顯示正常


6 ?新建一個(gè)任務(wù)涕烧,進(jìn)行遠(yuǎn)程控制訪問(wèn)robotframework程序月而,自動(dòng)運(yùn)行測(cè)試用例。

a)在jenkins主頁(yè)面中點(diǎn)擊“新建”按鈕议纯,新建一個(gè)任務(wù)父款。



填寫(xiě)一個(gè)任務(wù)名稱(chēng),選擇“構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目”的類(lèi)型瞻凤,點(diǎn)擊“ok”按鈕憨攒,新建一個(gè)任務(wù)。



b)配置任務(wù)的相關(guān)屬性信息阀参。描述最簡(jiǎn)單的遠(yuǎn)程控制配置肝集,不帶源碼編譯等信息。



C 構(gòu)建內(nèi)容(需要執(zhí)行的robot任務(wù))

需要多個(gè)任務(wù)執(zhí)行時(shí)蛛壳,增進(jìn)步驟就可杏瞻,jenkins是串行執(zhí)行的




D 添加robot報(bào)告 更多的在高級(jí)中填寫(xiě)


點(diǎn)擊“高級(jí)”按鈕,展現(xiàn)詳細(xì)log日志配置信息衙荐。配置讀取log的輸出路徑捞挥,用于讀取robotframework運(yùn)行完成后的log日志信息。

配置需要讀取的robotframework自動(dòng)化測(cè)試用例執(zhí)行后生成的文件夾路徑地址忧吟。如:C:\WINDOWS\ 砌函。

配置需要讀取的相關(guān)log日志文件名稱(chēng)。如:output.xml 溜族、?report.html 讹俊、log.html 雏掠。

設(shè)置80%通過(guò)顯示為黃色,100%通過(guò)為藍(lán)色劣像。

e)點(diǎn)擊“保存”按鈕,創(chuàng)建任務(wù)成功摧玫。

7 配置自定義郵件:

裝好郵件插件后 進(jìn)入 系統(tǒng)管理→系統(tǒng)設(shè)置


A 設(shè)置Jenkins地址和管理員郵箱(不設(shè)置管理員郵箱無(wú)法發(fā)送郵件)



B 配置系統(tǒng)管理員的郵件屬性

每個(gè)smtp server去服務(wù)提供方的幫助里都能查到耳奕,這里是騰訊企業(yè)郵箱的服務(wù)器地址



C點(diǎn)擊高級(jí),配置其他選項(xiàng)

?配置系統(tǒng)管理員的郵件屬性



username:和前面系統(tǒng)管理員一致

password:使用授權(quán)碼(后面會(huì)詳述授權(quán)碼)

Default Recipients:和前面系統(tǒng)管理員一致

D 配置“郵件通知”



和前面配置保持一致诬像,點(diǎn)擊高級(jí)進(jìn)入配置



和前面完全一致

配置完后 勾上通過(guò)發(fā)送測(cè)試郵件測(cè)試配置



這里測(cè)試的是--第4步的配置屋群,這測(cè)試通過(guò) 只能證明第4步配置是正確的,? 事實(shí)上有經(jīng)驗(yàn)的同事應(yīng)該能看出 第三步配置的是jenkins自帶的默認(rèn)郵件服務(wù)坏挠,而第4不配置的是插件的郵件服務(wù)芍躏,但是插件服務(wù)是依賴(lài)于jenkins本身自帶的郵件服務(wù)的

所以這幾個(gè)選項(xiàng)都必須全部配對(duì)才能起效


最后保存系統(tǒng)設(shè)置

8 任務(wù)構(gòu)建后的配置

選到我們剛建立的相關(guān)任務(wù),點(diǎn)擊配置


拉到構(gòu)建后操作



選到高級(jí)選項(xiàng)


觸發(fā)選擇always(JENKINS本身自帶的默認(rèn)是只有失敗才發(fā))選擇高級(jí)降狠,配置具體內(nèi)容


添加附件


將構(gòu)建日志壓縮作為附件也添加到郵件當(dāng)中發(fā)送对竣,需要注意的是,每一次構(gòu)建都會(huì)產(chǎn)生一個(gè)報(bào)告文檔榜配,倉(cāng)庫(kù)里會(huì)包含有之前構(gòu)建的所有的報(bào)告文檔否纬,所以需要打包的是當(dāng)前這次產(chǎn)生的報(bào)告文檔,不是之前的構(gòu)建產(chǎn)生的文檔



保存

9 添加 報(bào)告為郵件附件


主要配置上蛋褥,點(diǎn)選高級(jí)


自定義空間到日志所在的文件夾(默認(rèn)情況下 workspaces是在SLAVE下的節(jié)點(diǎn)配置的robot文件下建立對(duì)應(yīng)的工程文件夾)



默認(rèn)的workspace

構(gòu)建后操作里


點(diǎn)選高級(jí)



因?yàn)榍懊嬉呀?jīng)把這個(gè)slave的workspace 重定位到日志所在的文件夾了临燃,? 所以直接寫(xiě)最終目標(biāo)就行不用寫(xiě)路徑了

10 優(yōu)化郵件輸出(使用groovy script)


安裝如圖插件:



前2個(gè)是提供groovy語(yǔ)言的JenKins內(nèi)置插件,后2個(gè)一個(gè)是郵件支持烙心,一個(gè)是郵件模板測(cè)試插件(模板編寫(xiě)完畢膜廊,上傳到指定空間后,可不執(zhí)行直接查看模板效果)

A 全局配置:




Dafault Content改成對(duì)應(yīng)的腳本文件淫茵,腳本路徑是在全局的工作目錄下



在$Jenkins_Home/email-templates目錄(如果沒(méi)有email-templates請(qǐng)自行創(chuàng)建)下創(chuàng)建一個(gè)對(duì)應(yīng)的腳本爪瓜。腳本官方模板參考:

https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/groovy-html.template

B 節(jié)點(diǎn)內(nèi)配置:

在具體的節(jié)點(diǎn)項(xiàng)目中做相應(yīng)配置:


先檢查下遠(yuǎn)端節(jié)點(diǎn)的主目錄位置:



注意: 圖示的這個(gè)節(jié)點(diǎn)是在SLAVE節(jié)點(diǎn)的空間中

?在構(gòu)建后的郵件中添加對(duì)應(yīng)語(yǔ)句:




腳本放入對(duì)應(yīng)的主空間中。

節(jié)點(diǎn)執(zhí)行腳本比全局需要多個(gè)步驟匙瘪,需要批準(zhǔn)腳本執(zhí)行:



節(jié)點(diǎn)執(zhí)行后第一次會(huì)報(bào)錯(cuò)


這時(shí)需要去In-process Script Approval 去允許執(zhí)行


插件功能直接查看效果




注意紅框處填寫(xiě)對(duì)應(yīng)的主空間钥勋,如果配置了全局就填寫(xiě)jenkins_home位置,這里是slave節(jié)點(diǎn) 所以填節(jié)點(diǎn)文件位置


問(wèn)題集錦:

1 Jenkins 調(diào)用robot中包含subprocess.popen 時(shí)報(bào) windowserror: [error 2]


node 的環(huán)境變量沒(méi)有設(shè)置正確辆苔,JENKINS的slave找不到CMD位置


不能是相對(duì)路徑或者被控機(jī)的自帶變量算灸,必須填絕對(duì)路徑


集成后大多數(shù)報(bào)win error的問(wèn)題,基本都是環(huán)境變量沒(méi)配置正確導(dǎo)致

2 fireFOX 無(wú)法瀏覽日志報(bào)告?

到?about:config?設(shè)置

security.csp.enable = false

其他問(wèn)題導(dǎo)致的報(bào)告打不開(kāi)

?

a. 如果你是用命令行開(kāi)啟的

?

關(guān)閉Jenkins驻啤,修改開(kāi)啟命令如下菲驴,重新開(kāi)啟

?

java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar E:\Jenkins\jenkins.war?

b. 如果你是用msi安裝的

?

找到j(luò)enkins.xml 文件,修改如下

?

-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080

C. 如果你是用tomcat 啟動(dòng)的

有個(gè)臨時(shí)的解決方法

c.1 打開(kāi)jenkins 首頁(yè)

c.2 進(jìn)入系統(tǒng)管理

c.3 進(jìn)入腳本命令行

在輸入框輸入如下代碼骑冗,并執(zhí)行

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

注:方法c 都可以使用赊瞬,但是重啟后就失效了先煎,需要重新執(zhí)行

d 臨時(shí)解決方案

jenkins系統(tǒng)管理—>運(yùn)行命令行,在文本里輸入

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末巧涧,一起剝皮案震驚了整個(gè)濱河市薯蝎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谤绳,老刑警劉巖占锯,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缩筛,居然都是意外死亡消略,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)瞎抛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)艺演,“玉大人,你說(shuō)我怎么就攤上這事桐臊√コ罚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵断凶,是天一觀的道長(zhǎng)哩照。 經(jīng)常有香客問(wèn)我,道長(zhǎng)懒浮,這世上最難降的妖魔是什么飘弧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮砚著,結(jié)果婚禮上次伶,老公的妹妹穿的比我還像新娘。我一直安慰自己稽穆,他們只是感情好冠王,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著舌镶,像睡著了一般柱彻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上餐胀,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天哟楷,我揣著相機(jī)與錄音,去河邊找鬼否灾。 笑死卖擅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惩阶,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼挎狸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了断楷?” 一聲冷哼從身側(cè)響起锨匆,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冬筒,沒(méi)想到半個(gè)月后恐锣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蠢终,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年博敬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谒主。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡埂陆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娃善,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布瑞佩,位于F島的核電站聚磺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏炬丸。R本人自食惡果不足惜瘫寝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稠炬。 院中可真熱鬧焕阿,春花似錦、人聲如沸首启。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)毅桃。三九已至褒纲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钥飞,已是汗流浹背莺掠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留读宙,地道東北人汁蝶。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親掖棉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子墓律,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容