自動(dòng)化

一、概念

互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布,已經(jīng)形成了一套標(biāo)準(zhǔn)流程,最重要的組成部分就是持續(xù)集成(Continuous integration璧函,簡(jiǎn)稱CI)

1.1. 持續(xù)集成(采蜜)

持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干基显。

它的好處主要有兩個(gè):

(1)快速發(fā)現(xiàn)錯(cuò)誤蘸吓。每完成一點(diǎn)更新,就集成到主干续镇,可以快速發(fā)現(xiàn)錯(cuò)誤美澳,定位錯(cuò)誤也比較容易销部。

(2)防止分支大幅偏離主干摸航。如果不是經(jīng)常集成螺男,主干又在不斷更新趟卸,會(huì)導(dǎo)致以后集成的難度變大,甚至難以集成。

持續(xù)集成的目的谷饿,就是讓產(chǎn)品可以快速迭代,同時(shí)還能保持高質(zhì)量傅联。它的核心措施是秸苗,代碼集成到主干之前,必須通過自動(dòng)化測(cè)試恢暖。只要有一個(gè)測(cè)試用例失敗排监,就不能集成。

1.2. 持續(xù)交付

持續(xù)交付(Continuous delivery)指的是杰捂,頻繁地將軟件的新版本舆床,交付給質(zhì)量團(tuán)隊(duì)或者用戶,以供評(píng)審嫁佳。如果評(píng)審?fù)ㄟ^挨队,代碼就進(jìn)入生產(chǎn)階段。

持續(xù)交付可以看作持續(xù)集成的下一步蒿往。它強(qiáng)調(diào)的是盛垦,不管怎么更新,軟件是隨時(shí)隨地可以交付的瓤漏。

1.3. 持續(xù)部署

定義:持續(xù)部署(continuous deployment)是持續(xù)交付的下一步腾夯,指的是代碼通過評(píng)審以后,自動(dòng)部署到生產(chǎn)環(huán)境蔬充。

目標(biāo):代碼在任何時(shí)刻都是可部署的俯在,可以進(jìn)入生產(chǎn)階段。

前提:能自動(dòng)化完成測(cè)試娃惯、構(gòu)建跷乐、部署等步驟。

二趾浅、Jenkins介紹

2.1.? Jenkins概念

Jenkins 是一個(gè)開源軟件項(xiàng)目愕提,是基于Java開發(fā)的一種可拓展持續(xù)集成工具,主要用于持續(xù)皿哨、自動(dòng)地構(gòu)建 / 測(cè)試 / 集成軟件項(xiàng)目以及監(jiān)控一些定時(shí)執(zhí)行的任務(wù)浅侨。

2.2. Jenkins目的

1、持續(xù)证膨、自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目如输。

2、監(jiān)控軟件開放流程,快速問題定位及處理不见,提示開放效率澳化。

2.3. 特性

?? 易于安裝,只要把 jenkins.war 部署到 Tomcat 即可運(yùn)行

?? 易于配置稳吮,所有配置都是通過其提供的 web 界面實(shí)現(xiàn)

?? 集成 RSS/E-mail缎谷,通過 RSS 發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時(shí)通過 e-mail 通知

?? 生成 JUnit / TestNG 測(cè)試報(bào)告

?? 分布式構(gòu)建,支持 Jenkins 能夠讓多臺(tái)計(jì)算機(jī)一起構(gòu)建/測(cè)試

?? 插件支持灶似,支持?jǐn)U展插件列林,你可以開發(fā)適合自己團(tuán)隊(duì)使用的工具

2.4. 產(chǎn)品發(fā)布流程

產(chǎn)品設(shè)計(jì)成型 → 開發(fā)人員開發(fā)代碼 → 測(cè)試人員測(cè)試功能 → 運(yùn)維人員發(fā)布上線

三、安裝配置Jenkins

去官網(wǎng)下載jenkins.war包酪惭。

官網(wǎng)地址

3.1 兩種方式開啟Jenkins

方式1:

在tomcat的bin目錄下啟動(dòng)(最常用)

方式2:

打開cmd希痴,進(jìn)入jenkins目錄,然后運(yùn)行命令:java -jar jenkins.war

四春感、搭建JMeter+Jenkins+Ant持續(xù)化

Ant下載及配置安裝

下載Apache-ant

解壓到你想要安裝的目錄

配置環(huán)境變量

驗(yàn)證是否安裝成功

拷貝Jemter包到ant下

新建一個(gè)build.xml文件润梯,里面填入如下代碼

<?xml version="1.0" encoding="UTF-8"?><projectname="ant-jmeter-test"default="run"basedir="."><!-- 需要改成自己本地的 Jmeter 目錄--><propertyname="jmeter.home"value="G:\jmeter\apache-jmeter-3.0"/><!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑--><propertyname="jmeter.result.jtl.dir"value="G:\jmeter\jmeter-ant-jenkins\testResult"/><!-- jmeter生成html格式的結(jié)果報(bào)告的路徑--><propertyname="jmeter.result.html.dir"value="G:\jmeter\jmeter-ant-jenkins\testResult"/><!-- 生成的報(bào)告的前綴--><propertyname="ReportName"value="TestReport"/><propertyname="jmeter.result.jtlName"value="${jmeter.result.jtl.dir}/report.jtl"/><propertyname="jmeter.result.htmlName"value="${jmeter.result.html.dir}/index.html"/><!-- 接收測(cè)試報(bào)告的郵箱 --><propertyname="mail_to"value="barryli89@163.com"/><propertyname="lib.dir"value="${jmeter.home}/lib"/><pathid="xslt.classpath"><filesetdir="${lib.dir}"includes="xalan*.jar"/><filesetdir="${lib.dir}"includes="serializer*.jar"/></path><targetname="run"><antcalltarget="test"/><antcalltarget="report"/></target><targetname="test"><taskdefname="jmeter"classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/><jmeterjmeterhome="${jmeter.home}"resultlog="${jmeter.result.jtlName}"><!-- 聲明要運(yùn)行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本--><testplansdir="G:\jmeter\jmeter-ant-jenkins"includes="*.jmx"/><propertyname="jmeter.save.saveservice.output_format"value="xml"/></jmeter></target><targetname="report"><!-- 因?yàn)樯厦嫔蓤?bào)告的時(shí)候甥厦,不會(huì)將相關(guān)的圖片也一起拷貝至目標(biāo)目錄纺铭,所以,需要手動(dòng)拷貝 --></xslt><copytodir="${jmeter.result.html.dir}"><filesetdir="${jmeter.home}/extras"><includename="collapse.png"/><includename="expand.png"/></fileset></copy></target></project>

進(jìn)行命令行模式后刀疙,進(jìn)入剛才創(chuàng)建的xml文件存放目錄舶赔,如:D:\build 輸入ant即可

五、集成jenkins

打開Jenkins谦秧,配置Ant環(huán)境

新建一個(gè)自由風(fēng)格任務(wù)

構(gòu)建觸發(fā)器

構(gòu)建配置

配置HTML插件

立即構(gòu)建

針對(duì)報(bào)告中不顯示聚合報(bào)告的情況

Jenkins執(zhí)行自動(dòng)化測(cè)試后發(fā)送測(cè)試報(bào)告郵件

一竟纳、認(rèn)識(shí)web自動(dòng)化測(cè)試

什么是自動(dòng)化測(cè)試?

了解為什么要進(jìn)行自動(dòng)化測(cè)試?

掌握自動(dòng)化測(cè)試的分類?

web自動(dòng)化測(cè)試的使用條件和場(chǎng)景

自動(dòng)化測(cè)試工具的優(yōu)缺點(diǎn)

自動(dòng)化測(cè)試的前景和發(fā)展方向

1.1 什么是自動(dòng)化測(cè)試

首先比較一下手動(dòng)和自動(dòng):

手動(dòng)操作如下:

image-20210131103124998.png

自動(dòng)操作如下:

http://n1.itc.cn/img8/wb/sohulife/2016/02/24/145626026613873378.GIF

1.1.1 自動(dòng)化測(cè)試的概念

軟件自動(dòng)化測(cè)試就是通過測(cè)試工具或者其他手段,按照測(cè)試人員的預(yù)定計(jì)劃對(duì)軟件產(chǎn)品進(jìn)行自動(dòng)化測(cè)試疚鲤,他是軟件測(cè)試的一個(gè)重要組成部分锥累,能夠 完成許多手工測(cè)試無法完成或者難以實(shí)現(xiàn)的測(cè)試工作,正確合理的實(shí)施自動(dòng)化測(cè)試集歇,能夠快速桶略,全面的對(duì)軟件進(jìn)行測(cè)試,從而提高軟件質(zhì)量诲宇,節(jié)省經(jīng)費(fèi)际歼,縮短軟件的發(fā)布周期。

1.1.2 自動(dòng)化測(cè)試的歷史

自動(dòng)化測(cè)試就是任何利用工具來輔助的測(cè)試姑蓝,幾乎在計(jì)算機(jī)工業(yè)產(chǎn)生的第一天鹅心,這種測(cè)試就出現(xiàn)了。

歷史上從來沒有出現(xiàn)過“測(cè)試自動(dòng)化取代測(cè)試工程師工作”這種事情發(fā)生纺荧,除非你完全忽略測(cè)試人員們的真正工作旭愧。

測(cè)試自動(dòng)化意味著使用測(cè)試工具颅筋。自動(dòng)化測(cè)試是個(gè)古老的理念。

1.2 為什么要進(jìn)行自動(dòng)化測(cè)試

1.2.1 自動(dòng)化測(cè)試的好處

縮短測(cè)試周期

計(jì)算機(jī)行業(yè)更新迭代快速输枯,大量頻繁的回歸測(cè)試消耗時(shí)間议泵,自動(dòng)化測(cè)試能夠?qū)⒅貜?fù)的實(shí)行交給計(jì)算機(jī)去做,加快測(cè)試速度用押。

避免人為出錯(cuò)

測(cè)試人員不可能持續(xù)高度集中肢簿,并且人類易受外界影響(頭疼腦熱靶剑,精神不振)蜻拨,可能會(huì)造成人為錯(cuò)誤

測(cè)試信息存儲(chǔ)

自動(dòng)化測(cè)試將測(cè)試信息和數(shù)據(jù)儲(chǔ)存在文件中,思路清晰明確桩引,交接方便

輕易獲取覆蓋率

自動(dòng)化測(cè)試能夠解放測(cè)試人員缎讼,使測(cè)試人員能夠有更多的精力做那些非重復(fù)性的工作。

其他

自動(dòng)化測(cè)試可以是實(shí)現(xiàn)自動(dòng)或者定時(shí)執(zhí)行

注意:自動(dòng)化測(cè)試的方向是對(duì)的坑匠,而且趨勢(shì)也是如此血崭,但是有些自動(dòng)化實(shí)現(xiàn)不了的還是會(huì)手動(dòng)測(cè)試的。

1.3 自動(dòng)化測(cè)試的分類

整體分類

1)自動(dòng)化功能測(cè)試

2)自動(dòng)化性能測(cè)試

自動(dòng)化功能測(cè)試的分類:

1)單元測(cè)試:程序員搞定2)功能測(cè)試3)接口測(cè)試:大中型項(xiàng)目或長(zhǎng)期項(xiàng)目可以采用自動(dòng)化測(cè)試

性能測(cè)試主要是使用測(cè)試工具

Loadrunner厘灼、Jmeter等夹纫,對(duì)軟件進(jìn)行壓力測(cè)試、負(fù)載測(cè)試等等设凹,因?yàn)檫@些無法用手工進(jìn)行代替舰讹,所以必須自動(dòng)化。

為了測(cè)試一個(gè)web站點(diǎn)的服務(wù)能力闪朱,需要模擬上千上萬的請(qǐng)求(比如打開瀏覽器訪問站點(diǎn))月匣,人的速度是遠(yuǎn)遠(yuǎn)達(dá)不到這樣的操作的

1.4 web自動(dòng)化條件和使用范圍

1.使用自動(dòng)化的前提條件

1)手動(dòng)測(cè)試已經(jīng)完成,后期再不影響進(jìn)度的前提下逐漸實(shí)現(xiàn)自動(dòng)化2)項(xiàng)目周期長(zhǎng),重復(fù)性的工作都交給機(jī)器去實(shí)現(xiàn)3)需求穩(wěn)定,項(xiàng)目變動(dòng)不大4)自動(dòng)化測(cè)試腳本復(fù)雜度比較低5)可重復(fù)利用

2.使用自動(dòng)化測(cè)試的場(chǎng)景

1)頻繁的回歸測(cè)試2)冒煙測(cè)試3)傳統(tǒng)行業(yè)需求變化不大奋姿,應(yīng)用頻繁4)性能測(cè)試

1.5 web自動(dòng)化常用的工具

常見的自動(dòng)化web測(cè)試工具

QTP(收費(fèi))

QTP是Mercury公司的Quick Test Professional的簡(jiǎn)稱锄开,是一種自動(dòng)測(cè)試工具。

Selenium(開源)

Selenium一個(gè)強(qiáng)大的基于瀏覽器的開源自動(dòng)化測(cè)試工具称诗,通常用來編寫web應(yīng)用的自動(dòng)化測(cè)試

RFT(收費(fèi))

IBM Rational Test Professional的簡(jiǎn)稱萍悴,是一款先進(jìn)的自動(dòng)化的功能和回歸測(cè)試工具,使用與測(cè)試人員和GUI開發(fā)人員寓免,基礎(chǔ)是針對(duì)Java,.NET的對(duì)象計(jì)數(shù)和基于web應(yīng)用程序的錄制退腥,回放功能。

1.6 元素的定位

為什么要學(xué)習(xí)定位元素?

環(huán)境及工具

css選擇器

xpath路徑表達(dá)式

1.6.1 為什么要學(xué)習(xí)元素定位再榄?

1)計(jì)算機(jī)沒有智能到人的程度狡刘。2)計(jì)算機(jī)不能像手動(dòng)測(cè)試人員一樣通過眼看,手操作鼠標(biāo)點(diǎn)擊困鸥,操作鍵盤輸入嗅蔬。3)計(jì)算機(jī)通過一系列計(jì)數(shù)手段找到元素(按鈕剑按、輸入框、模擬鍵盤等)

1.6.2 元素定位的工具或手段有哪些澜术?

1)css選擇器2)xpath

1.6.3 環(huán)境及工具

材料

1)firefox352)firebug插件3)firepath插件

安裝步驟

1. 下載瀏覽器插件2. 菜單 → 添加附件 → 設(shè)置圖標(biāo) → 從文件中添加附件

1.7 xpath

1.7.1 什么是xpath艺蝴?

XPath即為XML路徑語(yǔ)言,它是一種用來(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)在 HTML\XML 文檔中查找信息的語(yǔ)言鸟废。

W3School官方文檔:http://www.w3school.com.cn/xpath/index.asp

1.7.2 什么是XML?

XML 指可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language)

XML 是一種標(biāo)記語(yǔ)言猜敢,很類似 HTML

XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)

1.7.3 XML與HTML

image-20210131105328723.png

1.7.4 節(jié)點(diǎn)

節(jié)點(diǎn)的概念:每個(gè)XML/HTML的標(biāo)簽我們都稱之為節(jié)點(diǎn)

image-20210131105451339.png

image-20210131105508204.png

1.7.5 獲取元素

XPath 使用路徑表達(dá)式來選取 XML 文檔中的節(jié)點(diǎn)或者節(jié)點(diǎn)集盒延。這些路徑表達(dá)式和我們?cè)诔R?guī)的電腦文件系統(tǒng)中看到的表達(dá)式非常相似缩擂。

image-20210131105621486.png

/根節(jié)點(diǎn)//title? ? ? 全局模糊定位title//head/.? 定位head元素//haad/.. 定位head元素的父元素 //meta[@conent]? ? ? //meta[@conent=""]? ? ? ?

查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)

image-20210131105640774.png

/html/head/meta[1]

選擇未知節(jié)點(diǎn)

image-20210131105702030.png

選取若干路徑

image-20210131105721728.png

image-20210131105749178.png

1.8 css選擇器

1.8.1 什么是css選擇器?

CSS 中添寺,選擇器是一種模式胯盯,用于選擇需要添加樣式的元素。計(jì)算機(jī)能夠通過css選擇器定位到相應(yīng)元素计露,我們?cè)诰帉懽詣?dòng)化測(cè)試腳本的時(shí)候很多時(shí)候是在不斷地找到css選擇器博脑。

1.8.2 css選擇器語(yǔ)法

1)通過偽類名、id票罐、標(biāo)簽名定位

image-20210131105944480.png

測(cè)試站點(diǎn):http://www.baidu.com

2)通過元素之前嵌套關(guān)系

image-20210131110014690.png

測(cè)試:Form span

3)通過屬性

image-20210131110048947.png

image-20210131110106391.png

4)通過父子關(guān)系

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叉趣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子该押,更是在濱河造成了極大的恐慌疗杉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沈善,死亡現(xiàn)場(chǎng)離奇詭異乡数,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)闻牡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門净赴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人罩润,你說我怎么就攤上這事玖翅。” “怎么了割以?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵金度,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我严沥,道長(zhǎng)猜极,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任消玄,我火速辦了婚禮跟伏,結(jié)果婚禮上丢胚,老公的妹妹穿的比我還像新娘。我一直安慰自己受扳,他們只是感情好携龟,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著勘高,像睡著了一般峡蟋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上华望,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天蕊蝗,我揣著相機(jī)與錄音,去河邊找鬼立美。 笑死匿又,一個(gè)胖子當(dāng)著我的面吹牛方灾,可吹牛的內(nèi)容都是我干的建蹄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼裕偿,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼洞慎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嘿棘,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤劲腿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鸟妙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焦人,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年重父,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了花椭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡房午,死狀恐怖矿辽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情郭厌,我是刑警寧澤袋倔,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站折柠,受9級(jí)特大地震影響宾娜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扇售,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一前塔、第九天 我趴在偏房一處隱蔽的房頂上張望贾陷。 院中可真熱鬧,春花似錦嘱根、人聲如沸髓废。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)慌洪。三九已至,卻和暖如春凑保,著一層夾襖步出監(jiān)牢的瞬間冈爹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工欧引, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留频伤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓芝此,卻偏偏與公主長(zhǎng)得像憋肖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子婚苹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • 自動(dòng)化 一岸更、概念 互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布,已經(jīng)形成了一套標(biāo)準(zhǔn)流程膊升,最重要的組成部分就是持續(xù)集成(Continuou...
    G_eebd閱讀 329評(píng)論 0 0
  • 一怎炊、概念 互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布,已經(jīng)形成了一套標(biāo)準(zhǔn)流程廓译,最重要的組成部分就是持續(xù)集成(Continuous in...
    __65a0閱讀 778評(píng)論 0 4
  • 一评肆、Python介紹 Python 是一個(gè)高層次的結(jié)合了解釋性、編譯性非区、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言瓜挽。 Python...
    成啦過客的青春閱讀 422評(píng)論 0 0
  • 一、認(rèn)識(shí)web自動(dòng)化測(cè)試 什么是自動(dòng)化測(cè)試? 了解為什么要進(jìn)行自動(dòng)化測(cè)試? 掌握自動(dòng)化測(cè)試的分類? web自動(dòng)化測(cè)...
    會(huì)冒泡的魚____閱讀 397評(píng)論 0 1
  • 一院仿、認(rèn)識(shí)web自動(dòng)化測(cè)試 什么是自動(dòng)化測(cè)試? 了解為什么要進(jìn)行自動(dòng)化測(cè)試? 掌握自動(dòng)化測(cè)試的分類? web自動(dòng)化測(cè)...
    玉奎閱讀 159評(píng)論 0 0