Jenkins集成appium自動(dòng)化測(cè)試(Windows篇)

一纤壁,引入問(wèn)題

  • 自動(dòng)化測(cè)試腳本絕大部分用于回歸測(cè)試,這就需要制定執(zhí)行策略捺信,如每天酌媒、代碼更新后、項(xiàng)目上線前定時(shí)執(zhí)行迄靠,才能達(dá)到最好的效果秒咨,這時(shí)就需要進(jìn)行Jenkins集成。
  • 不像web UI自動(dòng)化測(cè)試可以使用無(wú)痕瀏覽器做到無(wú)界面掌挚,APP UI自動(dòng)化需要用到真機(jī)或模擬器雨席,在完全的linux環(huán)境下做Jenkins集成顯得不太可能。
  • 可以在自己的工作電腦上搭建Jenkins吠式,并運(yùn)行APP UI自動(dòng)化測(cè)試項(xiàng)目陡厘,但工作電腦關(guān)閉后就不能定時(shí)運(yùn)行自動(dòng)化項(xiàng)目抽米,且工作的電腦還要用來(lái)做別的工作,這樣顯得極其不方便糙置。

基于以上等原因云茸,可以考慮向公司申請(qǐng)一臺(tái)專門(mén)用于做自動(dòng)化測(cè)試的本地電腦,搭建好本地電腦的測(cè)試環(huán)境谤饭,連接真機(jī)或模擬器查辩;在公司的測(cè)試服務(wù)器上部署Jenkins,新建節(jié)點(diǎn)連接本地測(cè)試電腦网持,這樣就可以利用Jenkins設(shè)置策略定時(shí)在本地測(cè)試電腦上構(gòu)建測(cè)試項(xiàng)目。

注意:之所以不直接在專門(mén)用于測(cè)試的電腦上直接搭建Jenkins长踊,是因?yàn)榭赡艹鼳PP自動(dòng)化項(xiàng)目外功舀,還有web自動(dòng)化、接口自動(dòng)化或者其他集成項(xiàng)目身弊,Jenkins搭建在遠(yuǎn)程服務(wù)器上方便對(duì)所有需要Jenkins構(gòu)建的項(xiàng)目進(jìn)行管理辟汰。

本篇博客涉及的環(huán)境:遠(yuǎn)程Jenkins版本2.176.3,本地電腦 Windows 10

二阱佛,搭建思路

1帖汞,搭建Jenkins

2,新建節(jié)點(diǎn)

3凑术,配置節(jié)點(diǎn)

4翩蘸,節(jié)點(diǎn)啟動(dòng)代理

5,新建任務(wù)

6淮逊,配置任務(wù)(獲取最新代碼催首、關(guān)聯(lián)從節(jié)點(diǎn)等)

7,調(diào)試構(gòu)建

三泄鹏,具體步驟

1郎任,搭建Jenkins

不多贅述,網(wǎng)上教程很多备籽,大家自行查閱舶治。也有很多公司的測(cè)試服務(wù)器已經(jīng)搭建好Jenkins,直接使用即可车猬。注意霉猛,本博客示例的Jenkins版本為2.176.3

2,新建節(jié)點(diǎn)

登錄Jenkins --> Manage Jenkins --> Manage Nodes --> 新建節(jié)點(diǎn)诈唬,具體步驟如下:

點(diǎn)擊確定后韩脏,會(huì)跳轉(zhuǎn)至節(jié)點(diǎn)配置頁(yè)面。

3铸磅,配置節(jié)點(diǎn)

3.1赡矢,按下圖中的說(shuō)明進(jìn)行配置杭朱,未進(jìn)行說(shuō)明的默認(rèn)即可,再點(diǎn)擊【保存】按鈕吹散。

注意

  • 遠(yuǎn)程工作目錄弧械,理論上可以填寫(xiě)本地測(cè)試電腦里的任意目錄路徑,但最好專門(mén)新建一個(gè)用于Jenkins工作的目錄空民。
  • 我這里的Jenkins版本為2.176.3刃唐,啟動(dòng)方法中無(wú) Launch agents Java Web Start 選項(xiàng),網(wǎng)上查找資料后進(jìn)入Manage Jenkins --> Configure Global Security 進(jìn)行如下設(shè)置

但啟動(dòng)方法中仍然沒(méi)有展示"Launch agents Java Web Start"選項(xiàng)界轩。但其實(shí)這里選擇"Launch agent by connecting it to the master"也是可行的画饥。

3.2,點(diǎn)擊保存后浊猾,跳轉(zhuǎn)至Nodes頁(yè)面抖甘,出現(xiàn)如下節(jié)點(diǎn)

4,啟動(dòng)代理

4.1葫慎,Nodes頁(yè)面點(diǎn)擊節(jié)點(diǎn)衔彻,跳轉(zhuǎn)至如下頁(yè)面:

4.2,這里有兩種方法啟動(dòng)節(jié)點(diǎn)偷办,我選擇第一種艰额,點(diǎn)擊【Launch】,提示下載slave-agent.jnlp文件椒涯,將該文件下載保存至方便后面查找的目錄里柄沮。

4.3,雙擊slave-agent.jnlp文件后點(diǎn)擊運(yùn)行逐工,會(huì)出現(xiàn)如下圖標(biāo)

這個(gè)時(shí)候铡溪,在Jenkins主頁(yè)我們會(huì)看到節(jié)點(diǎn)已經(jīng)連接成功。

5泪喊,新建任務(wù)

新建一個(gè)自由風(fēng)格的任務(wù)棕硫,步驟如下:

6,配置任務(wù)

對(duì)上一步新建的任務(wù)進(jìn)行配置袒啼,步驟如下哈扮。

6.1,任務(wù)關(guān)聯(lián)節(jié)點(diǎn)

標(biāo)簽表達(dá)式里可以填寫(xiě)配置時(shí)填入的標(biāo)簽名蚓再,也可以直接填寫(xiě)節(jié)點(diǎn)名稱滑肉。

6.2,源碼管理

6.2.1摘仅,因?yàn)槲业拇a通過(guò)git管理靶庙,所以選擇Git選項(xiàng)

6.2.2,Repository URL娃属,填入git中該測(cè)試項(xiàng)目的地址

6.2.3六荒,Credentials护姆,填入git賬號(hào)跟密碼。填寫(xiě)方法掏击,點(diǎn)擊【添加】按鈕進(jìn)入添加頁(yè)面卵皂,添加git賬號(hào)密碼后,再選中即可砚亭,具體如下:

6.2.4灯变,Branch Specifier (blank for 'any'),選擇項(xiàng)目分支捅膘,可填寫(xiě)該項(xiàng)目需要運(yùn)行的分支添祸,沒(méi)有其他分支的話,默認(rèn)master即可

6.3寻仗,構(gòu)建觸發(fā)器(非必選)

可根據(jù)自己的需求來(lái)選擇不同的項(xiàng)進(jìn)行配置膝捞,也可不配置。如果需要定時(shí)構(gòu)建運(yùn)行項(xiàng)目愧沟,則勾選Build periodically,填入30 23 * * *鲤遥,則表示每天晚上11點(diǎn)半開(kāi)始運(yùn)行項(xiàng)目沐寺,如下所示:

6.4,構(gòu)建

點(diǎn)擊【增加構(gòu)建步驟】按鈕盖奈,選擇"Execute Windows batch command"

輸入構(gòu)建命令混坞,即執(zhí)行自動(dòng)化測(cè)試項(xiàng)目的命令

注意,第一次配置構(gòu)建命令時(shí)钢坦,可以隨意配置究孕,如:python run.py,保存配置后先進(jìn)行第一次構(gòu)建爹凹,第一次構(gòu)建完成后厨诸,會(huì)在節(jié)點(diǎn)配置的遠(yuǎn)程工作目錄里生成workspace文件夾,接下來(lái)會(huì)對(duì)第一次構(gòu)建步驟具體介紹禾酱。

6.5微酬,進(jìn)行第一次構(gòu)建

按照上面的步驟進(jìn)行配置后,先點(diǎn)擊【應(yīng)用】再點(diǎn)擊【保存】

保存成功后颤陶,跳轉(zhuǎn)至test任務(wù)頁(yè)面颗管,點(diǎn)擊【Build Now】,進(jìn)行第一次構(gòu)建

不用管第一次構(gòu)建是否成功滓走,構(gòu)建完成后會(huì)在節(jié)點(diǎn)配置的遠(yuǎn)程工作目錄里生成workspace垦江、remoting兩個(gè)文件夾,如下圖

并在workspace中會(huì)自動(dòng)生成兩個(gè)以任務(wù)名稱命名的文件夾搅方,如下圖的test比吭、test@temp

同時(shí)會(huì)從第6.2步中配置好的git倉(cāng)庫(kù)中下載項(xiàng)目代碼保存在test文件夾中绽族,如下:

至此,第一次構(gòu)建的目的達(dá)到了梗逮。但是我們需要根據(jù)項(xiàng)目中run文件的具體路徑项秉,再次配置任務(wù)里的構(gòu)建命令,后續(xù)才能正確地構(gòu)建運(yùn)行測(cè)試項(xiàng)目慷彤,這里配置如下娄蔼,再點(diǎn)擊應(yīng)用、保存底哗。

注意岁诉,執(zhí)行python命令需要提前在本地測(cè)試電腦里配置好python。

7跋选,調(diào)試

按照第6步配置任務(wù)完成后涕癣,先調(diào)試是否能跑通,調(diào)試成功后才可進(jìn)行正式構(gòu)建執(zhí)行測(cè)試項(xiàng)目前标,進(jìn)入任務(wù)主頁(yè)面坠韩,點(diǎn)擊【Build New】按鈕。

在構(gòu)建歷史中炼列,還可選擇點(diǎn)擊某次構(gòu)建進(jìn)入控制臺(tái)查看構(gòu)建日志只搁,如下:

至此,就可以通過(guò)遠(yuǎn)程Jenkins在本地測(cè)試電腦上集成構(gòu)建測(cè)試任務(wù)了俭尖。

四氢惋,總結(jié)

注意

  • 配置節(jié)點(diǎn)時(shí)填寫(xiě)的遠(yuǎn)程工作目錄,是本地測(cè)試電腦上的目錄路徑稽犁,即該Jenkins節(jié)點(diǎn)的工作目錄焰望。
  • 配置任務(wù)的源碼管理時(shí),根據(jù)實(shí)際需求已亥,如果是git倉(cāng)庫(kù)就選擇Git熊赖,如果是SVN就選擇subversion
  • 進(jìn)行第一次構(gòu)建之前,由于還沒(méi)有在遠(yuǎn)程工作目錄里生成workspace并拉取代碼虑椎,配置的構(gòu)建命令并不需要真實(shí)的執(zhí)行命令秫舌,如:python run.py
  • 第一次構(gòu)建通常情況下會(huì)失敗,但會(huì)生成remoting绣檬、workspace足陨,并從遠(yuǎn)程代碼倉(cāng)庫(kù)拉取代碼存放在workspace中以節(jié)點(diǎn)名稱命名的文件夾里
  • 第一次構(gòu)建完成后,需要對(duì)任務(wù)重新配置正確的構(gòu)建命令娇未,如:python E:\autoTest\workspace\test\run.py
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末墨缘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镊讼,老刑警劉巖宽涌,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蝶棋,居然都是意外死亡卸亮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)玩裙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)兼贸,“玉大人,你說(shuō)我怎么就攤上這事吃溅∪艿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵决侈,是天一觀的道長(zhǎng)螺垢。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赖歌,這世上最難降的妖魔是什么枉圃? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮庐冯,結(jié)果婚禮上讯蒲,老公的妹妹穿的比我還像新娘。我一直安慰自己肄扎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布赁酝。 她就那樣靜靜地躺著犯祠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酌呆。 梳的紋絲不亂的頭發(fā)上衡载,一...
    開(kāi)封第一講書(shū)人閱讀 52,549評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音隙袁,去河邊找鬼痰娱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛菩收,可吹牛的內(nèi)容都是我干的梨睁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼娜饵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坡贺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遍坟,失蹤者是張志新(化名)和其女友劉穎拳亿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體愿伴,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肺魁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隔节。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹅经。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖官帘,靈堂內(nèi)的尸體忽然破棺而出瞬雹,到底是詐尸還是另有隱情,我是刑警寧澤刽虹,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布酗捌,位于F島的核電站,受9級(jí)特大地震影響涌哲,放射性物質(zhì)發(fā)生泄漏胖缤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一阀圾、第九天 我趴在偏房一處隱蔽的房頂上張望哪廓。 院中可真熱鬧,春花似錦初烘、人聲如沸涡真。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哆料。三九已至,卻和暖如春吗铐,著一層夾襖步出監(jiān)牢的瞬間东亦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工唬渗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留典阵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓镊逝,卻偏偏與公主長(zhǎng)得像壮啊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子撑蒜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361