版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第第#頁(yè)目錄TOC\o"1-5"\h\z\o"CurrentDocument"1前言2\o"CurrentDocument"1。1文檔目的2\o"CurrentDocument"1。2名詞術(shù)語(yǔ)2\o"CurrentDocument"2功能自動(dòng)化測(cè)試實(shí)施原則3\o"CurrentDocument"2。1實(shí)施原則3\o"CurrentDocument"實(shí)施功能自動(dòng)化測(cè)試的優(yōu)缺點(diǎn)33實(shí)施范圍和目標(biāo)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5\o"CurrentDocument"3。1實(shí)施范圍5\o"CurrentDocument"實(shí)施目標(biāo)5\o"CurrentDocument"總體實(shí)施策略5\o"CurrentDocument"4技術(shù)方案實(shí)施內(nèi)容6\o"CurrentDocument"□Sahi的特性和優(yōu)勢(shì):6\o"CurrentDocument"SAHI的工作原理:9\o"CurrentDocument"4。2.1第一步:錄制9\o"CurrentDocument"4。2。2第二步:精煉腳本9\o"CurrentDocument"第三步:回放9\o"CurrentDocument"4。3Sahi的安裝部署與配置10\o"CurrentDocument"5實(shí)施管理建議13\o"CurrentDocument"5。1實(shí)施策略建議13\o"CurrentDocument"5。2人員配置13\o"CurrentDocument"實(shí)施計(jì)劃14\o"CurrentDocument"5。4交付物14前言文檔目的功能自動(dòng)化測(cè)試方案是為XXX系統(tǒng)功能測(cè)試使用自動(dòng)化工具,實(shí)現(xiàn)以自動(dòng)化測(cè)試為主的目標(biāo)而編寫(xiě)的技術(shù)和實(shí)施方案。文檔的主要目的是提供自動(dòng)化測(cè)試的技術(shù)方案、實(shí)施內(nèi)容、實(shí)施步驟,以及關(guān)鍵的技術(shù)實(shí)現(xiàn)手段等。本文的預(yù)期讀者為測(cè)試中心相關(guān)人員.名詞術(shù)語(yǔ)Sahi:是TytoSoftware旗下的一個(gè)基于業(yè)務(wù)的開(kāi)源Web應(yīng)用自動(dòng)化測(cè)試工具.Sahi運(yùn)行為一個(gè)代理服務(wù)器,并通過(guò)注入JavaScript來(lái)訪問(wèn)Web頁(yè)面中的元素。Sahi支持HTTPS并且獨(dú)立于Web站點(diǎn),簡(jiǎn)單小巧卻功能強(qiáng)大。它相對(duì)于Selenium等自動(dòng)化測(cè)試工具,在動(dòng)態(tài)ID元素查找和隱式頁(yè)面等待處理等方面具有一定的優(yōu)勢(shì)。選擇Sahi工具來(lái)實(shí)現(xiàn)具體Web項(xiàng)目的自動(dòng)化測(cè)試是一個(gè)很不錯(cuò)的選擇。功能測(cè)試:功能測(cè)試又稱正確性測(cè)試,它檢查軟件的功能是否符合規(guī)格說(shuō)明。由于正確性是軟件最重要的質(zhì)量因素,所以其測(cè)試也最重要.自動(dòng)化測(cè)試:使用商業(yè)提供的自動(dòng)化測(cè)試工具或者自己開(kāi)發(fā)的工具對(duì)目標(biāo)系統(tǒng)進(jìn)行測(cè)試。機(jī)器自動(dòng)執(zhí)行的測(cè)試,替代人完成重復(fù)性勞動(dòng),但不能完全取代人。自動(dòng)化測(cè)試需要用到測(cè)試工具,測(cè)試工程師的參與,自動(dòng)化測(cè)試技術(shù)可應(yīng)用于所有的測(cè)試階段Web測(cè)試背景:隨著Web技術(shù)和互聯(lián)網(wǎng)的發(fā)展,Web應(yīng)用產(chǎn)品越來(lái)越豐富,基于Web頁(yè)面測(cè)試的需求與日俱增.在當(dāng)前全球軟件都在追求高效、敏捷的開(kāi)發(fā)模式的大背景下,Web自動(dòng)化測(cè)試成為了新一波技術(shù)探討和研究的熱潮。因?yàn)閭鹘y(tǒng)的手工測(cè)試不僅效率低,并且測(cè)試質(zhì)量受限于測(cè)試人員的一些情緒和心情。若當(dāng)一個(gè)測(cè)試人員帶著煩躁情緒來(lái)測(cè)這些繁雜的大量重復(fù)性工作,測(cè)試的質(zhì)量令人擔(dān)憂。更何況,當(dāng)這項(xiàng)測(cè)試工作涉及到全球化方面的測(cè)試時(shí),多語(yǔ)言版本的測(cè)試工作導(dǎo)致該測(cè)試工作量的成倍增加,這無(wú)疑是一項(xiàng)巨大的考驗(yàn)!檢查點(diǎn):用來(lái)驗(yàn)證腳本執(zhí)行結(jié)果是否達(dá)到預(yù)期??梢栽阡浿频倪^(guò)程中建立檢查點(diǎn),也可以在錄制完成之后再建立檢查點(diǎn)。功能自動(dòng)化測(cè)試實(shí)施原則實(shí)施原則功能自動(dòng)化測(cè)試過(guò)程中工具不可能完成所有的工作,工具仍然是測(cè)試過(guò)程中的輔助手段。對(duì)于工具主要是解決測(cè)試過(guò)程中的重復(fù)性的工作任務(wù)。另外實(shí)施自動(dòng)化的測(cè)試對(duì)被測(cè)系統(tǒng)也有更高的要求,總結(jié)功能自動(dòng)化測(cè)試的實(shí)施原則如下:使用自動(dòng)化工具測(cè)試,要求被測(cè)系統(tǒng)開(kāi)發(fā)比較穩(wěn)定,較少發(fā)生功能的變更;在自動(dòng)化測(cè)試腳本錄制前,被測(cè)系統(tǒng)的界面相對(duì)穩(wěn)定;功能測(cè)試自動(dòng)化要求測(cè)試數(shù)據(jù)環(huán)境中的測(cè)試數(shù)據(jù)相對(duì)充裕,滿足多次重復(fù)回歸測(cè)試的要求要求被測(cè)系統(tǒng)的版本運(yùn)行比較穩(wěn)定,較少發(fā)生測(cè)試中止的情況分期分步驟實(shí)施,優(yōu)先選擇產(chǎn)品功能比較穩(wěn)定的系統(tǒng)進(jìn)行;完善的、可復(fù)用的數(shù)據(jù)參數(shù)、腳本庫(kù)是一個(gè)長(zhǎng)期的積累過(guò)程.實(shí)施功能自動(dòng)化測(cè)試的優(yōu)缺點(diǎn)功能的自動(dòng)化測(cè)試與手工測(cè)試雖然有很多局限,但是同樣有其優(yōu)勢(shì),隨著自動(dòng)化測(cè)試技術(shù)和工具的發(fā)展,對(duì)于比較穩(wěn)定的產(chǎn)品的功能測(cè)試中,自動(dòng)化測(cè)試占有越來(lái)越重要的地位。使用Sahi可以加快整個(gè)測(cè)試的過(guò)程,在產(chǎn)品的版本發(fā)布之后,可以重復(fù)使用測(cè)試腳本進(jìn)行測(cè)試,具體來(lái)說(shuō):自動(dòng)化測(cè)試的優(yōu)點(diǎn):?提高測(cè)試效率,降低測(cè)試成本;?重復(fù)性強(qiáng)的手工勞動(dòng)獨(dú)立用自動(dòng)化實(shí)現(xiàn);快速的回歸測(cè)試,提高新版本發(fā)布的速度和質(zhì)量;避免人工測(cè)試容易犯的錯(cuò)誤,如:錯(cuò)誤測(cè)試,漏測(cè)試,多測(cè)試等很容易就實(shí)現(xiàn)并發(fā)性測(cè)試測(cè)試可重用,采用腳本和數(shù)據(jù)可以很容易實(shí)現(xiàn)重用。自動(dòng)化測(cè)試的缺點(diǎn):規(guī)范的測(cè)試管理,測(cè)試需求,測(cè)試用例;不能創(chuàng)造性發(fā)現(xiàn)測(cè)試腳本沒(méi)有設(shè)計(jì)的缺陷;高質(zhì)量的測(cè)試用例高素質(zhì)的自動(dòng)化測(cè)試工程師;?對(duì)測(cè)試環(huán)境要求比較嚴(yán)格;?測(cè)試需求變化可能引起大量的測(cè)試用例,自動(dòng)測(cè)試腳本的修改、維護(hù)。實(shí)施范圍和目標(biāo)實(shí)施范圍工具范圍:目前考慮Sahi、Excel等工具的使用和集成持續(xù)集成工具暫時(shí)先不考慮;系統(tǒng)范圍:定位在測(cè)試中心基礎(chǔ)測(cè)試環(huán)境中的系統(tǒng);測(cè)試階段的范圍:局限在回歸測(cè)試后期、以及上線后的功能回歸測(cè)試,目前暫不包括LT、內(nèi)部測(cè)試中的功能測(cè)試部分。實(shí)施目標(biāo)功能自動(dòng)化測(cè)試系統(tǒng)應(yīng)該能完成集成測(cè)試、以及上線后功能的回歸測(cè)試方案目標(biāo)對(duì)有界面和無(wú)界面的交易測(cè)試都能完成,有界面的交易支持如下方式:支持字符終端界面;支持B/S的Web界面;支持C/S的Windows應(yīng)用程序界面;功能自動(dòng)化測(cè)試方案對(duì)目前大部分應(yīng)用系統(tǒng)都可以進(jìn)行測(cè)試;實(shí)現(xiàn)自動(dòng)化腳本錄制、自動(dòng)化腳本執(zhí)行、自動(dòng)化缺陷報(bào)告和管理.總體實(shí)施策略首先從目前系統(tǒng)中選擇適合自動(dòng)化測(cè)試的項(xiàng)目和系統(tǒng);其次確定實(shí)施功能自動(dòng)化測(cè)試的階段和時(shí)機(jī)第三從適合的項(xiàng)目中選擇適合自動(dòng)化測(cè)試實(shí)施的功能和交易。具體實(shí)施策略參見(jiàn)第6節(jié)的實(shí)施管理建議.技術(shù)方案實(shí)施內(nèi)容Sahi的特性和優(yōu)勢(shì)當(dāng)提及面向Web的自動(dòng)化測(cè)試,相信許多讀者會(huì)想到或者說(shuō)使用過(guò)Selenium、Watir等工具,而對(duì)于Sahi就可能比較陌生。首先,讓我們先來(lái)了解下Sahi工具。它是一款印度公司TytoSoftware開(kāi)發(fā)的成熟的開(kāi)源Web自動(dòng)化測(cè)試工具。Sahi簡(jiǎn)單易用,能良好支持Ajax和Web2.0技術(shù),同時(shí)適用于敏捷和傳統(tǒng)的不同測(cè)試模式.那么,它與其他非常流行的Web自動(dòng)化測(cè)試工具有哪些不同和優(yōu)勢(shì)呢?讓我們將其與主流自動(dòng)化測(cè)試工具Selenium和Watir來(lái)進(jìn)行一番對(duì)比,請(qǐng)參考圖1:圖1。Sahi與其他工具的對(duì)比從上圖的對(duì)比可以看出,Selenium支持的腳本語(yǔ)言比較豐富,且自帶SeleniumIDE自動(dòng)錄制工具,Watir執(zhí)行的速度相對(duì)其他較快。而Sahi同樣具備了自帶的錄制器,且支持幾乎所有瀏覽器,且對(duì)JS支持較好,擁有頁(yè)面等待判斷機(jī)制,內(nèi)置Java異常報(bào)告,支持Ajax等優(yōu)勢(shì)。下面,本文將詳細(xì)介紹一下Sahi的幾大優(yōu)勢(shì).基于上下文的頁(yè)面識(shí)別機(jī)制:大多數(shù)如Selenium等Web自動(dòng)化測(cè)試工具或是自動(dòng)化框架,都采用類似基于DOM的定位策略、Xpath定位策略和id、name、identifier等頁(yè)面元素定位策略。Identifier定位是最普遍的一種定位方式,當(dāng)不能識(shí)別為其它定位方式后,默認(rèn)為identifier定位。在這種策略下,第一個(gè)使用id的頁(yè)面元素將被識(shí)別出來(lái),如果沒(méi)有使用指定id的元素,那么將識(shí)別第一個(gè)名字與指定條件相符的元素.例如,identifier識(shí)另Uusername元素的定位策略:identifier=usernameId定位是在知道元素具體id特征的情況下的一種更精確定位。例如,定位頁(yè)面元素loginFrom:id=loginFromname定位方式是去識(shí)別第一個(gè)匹配名稱屬性的UI元素。如果多個(gè)元素?fù)碛邢嗤拿Q屬性,可以使用value過(guò)濾器來(lái)進(jìn)一步優(yōu)化您的定位策略。例如,定位頁(yè)面元素為username:name=usernameXpath定位是在XML中定位元素的方法,而HTML可以被看作是XML的一種實(shí)現(xiàn).XPath擴(kuò)展了上面id和name定位方式,提供了絕對(duì)路徑和相當(dāng)路徑兩種查找方式。絕對(duì)路徑:html/body/div[1]/div[1]/div[3]/div[1]/form/span/input[1]相對(duì)路徑查找://div[@id='fm']/form/span/input然而,在實(shí)際的情況下,頁(yè)面元素并非如預(yù)期般明確。一些動(dòng)態(tài)頁(yè)面的DOM樹(shù)常常隨著Web產(chǎn)品的更新而頻繁改變。許多的元素值如ID、Name等在代碼中并不是必須的,常常會(huì)缺省?并且,屬性值往往不是唯一對(duì)應(yīng)的,頁(yè)面中有時(shí)會(huì)存在相同屬性的元素。當(dāng)缺省id值或是Xpath定位失效時(shí),上述這幾種查找定位方式往往顯得無(wú)助和脆弱。Sahi采用了一種主動(dòng)查找的機(jī)制,它不受限于特定的元素屬性?在沒(méi)有ID、Name值的情況下,它可以使用一些如“title,value”等屬性,這些都是頁(yè)面可見(jiàn)的屬性,所見(jiàn)即所得。同時(shí),Sahi會(huì)通過(guò)傳入這些可見(jiàn)可識(shí)別的屬性值,來(lái)按照Sahi預(yù)設(shè)的機(jī)制進(jìn)行查找識(shí)別.Sahi允許開(kāi)發(fā)者對(duì)每一種元素設(shè)置不同屬性和特定的查找順序,包括那些自定義的屬性名。所以Sahi相對(duì)于其他的Web自動(dòng)化測(cè)試工具更靈活更開(kāi)放。比如,_link("valueName”)用來(lái)定位一個(gè)定義為"valueName"的link,這里的valueName并不一定是value的屬性值,也可以是它的id、title等.前面提到了Sahi主動(dòng)查找的機(jī)制,那么它是如何去查找DOM節(jié)點(diǎn)下的特定元素的呢?Sahi主要提供了三種基于上下文的元素API:」n,_near和_under。從字面意思上,我們不難理解,」n是指在某個(gè)DOM節(jié)點(diǎn)下查找某個(gè)元素,這比Xpath的不管是絕對(duì)路徑或是相對(duì)路徑查找都來(lái)的靈活,不會(huì)因?yàn)镈OM樹(shù)內(nèi)部結(jié)構(gòu)發(fā)生變化而導(dǎo)致路徑失效找不到元素的問(wèn)題。_near是指在某個(gè)元素附近查找相應(yīng)設(shè)定規(guī)則條件的最近一個(gè)元素,這對(duì)于一個(gè)頁(yè)面中有多個(gè)相同屬性值的情況提供了一個(gè)很好的解決方式,使查找的范圍更精確._under是指在某個(gè)元素下方開(kāi)始查找,找到符合條件的最近一個(gè)元素,一般_under都適用在具有相同偏移量的同一列中。下面,我們來(lái)看一個(gè)例子,加深對(duì)Sahi這種基于上下文識(shí)別查找機(jī)制的理解:圖2。案例網(wǎng)頁(yè)假設(shè),在圖2顯示的Web頁(yè)面的所有textbox的name二”q",那么,Sahi的偵探器通過(guò)一些標(biāo)識(shí)來(lái)鑒別它們,如(_textbox("q"),—textbox("q[1]")和_textbox("q[2]")).如果,我們要定位"RubyforRails"那一行的textbox,即_textbox("q[1]”)。傳統(tǒng)的元素識(shí)別會(huì)遇到多個(gè)相同屬性元素的問(wèn)題,即使是Xpath的定位方式也會(huì)因?yàn)樵谒懊婕恿艘恍行碌臄?shù)據(jù)而導(dǎo)致Xpath定位失敗的情況。這時(shí)Sahi可以通過(guò)_near這種方式來(lái)定位:textbox("q",near(cell("RubyforRails")))當(dāng)要定位checkbox時(shí),我們又會(huì)發(fā)現(xiàn),"RubyforRails"這一行有"Recommend"和"Alreadyown”兩個(gè)checkbox,為了更準(zhǔn)確地定位,我們可以結(jié)合_under,例如:_checkbox(0,_near(_cell("RubyforRails")),_under(_cell("Recommend")))。如果在整個(gè)頁(yè)面中存在多個(gè)這樣的表格,我們還可以用」n來(lái)進(jìn)一步縮小范圍,如:_checkbox(0,_near(_cell("RubyforRails")),_under(_cell(”Recommend”)),」n(_cell(”Cost)))。同時(shí)值得一提的是,SahiAPI中的identifier參數(shù)都支持正則表達(dá)式,例如,—div(/name.*/)用來(lái)識(shí)別所有以某種預(yù)屬性值是name開(kāi)頭的div。隱式頁(yè)面加載響應(yīng)等待機(jī)制:現(xiàn)在越來(lái)越多的Web應(yīng)用米用Ajax的應(yīng)用技術(shù),來(lái)支持網(wǎng)頁(yè)數(shù)據(jù)的異步請(qǐng)求響應(yīng)。當(dāng)前一般的Web自動(dòng)化測(cè)試工具沒(méi)有一個(gè)智能的處理機(jī)制,來(lái)判斷何時(shí)可以繼續(xù)下一個(gè)操作。像Selenium等自動(dòng)化測(cè)試工具通常會(huì)在腳本中人為來(lái)設(shè)定一個(gè)固定的等待時(shí)間。但這往往被證實(shí)不一定是準(zhǔn)確的。實(shí)際測(cè)試中,人是很難準(zhǔn)確判斷每一個(gè)操作請(qǐng)求需要的合理時(shí)間數(shù)值。因?yàn)?,等待時(shí)間設(shè)置過(guò)短,下一步操作在被測(cè)應(yīng)用請(qǐng)求還未返回就執(zhí)行了,或是由于網(wǎng)絡(luò)因素使正常的響應(yīng)時(shí)間變長(zhǎng),都可能導(dǎo)致測(cè)試過(guò)程找不到相應(yīng)的頁(yè)面元素,從而導(dǎo)致整個(gè)測(cè)試用例失敗的情況。而如果把時(shí)間設(shè)置過(guò)長(zhǎng),又會(huì)造成在一些正常響應(yīng)過(guò)程中的不必要等待的時(shí)間浪費(fèi),降低了測(cè)試效率。當(dāng)然,一些測(cè)試人員會(huì)在自動(dòng)化測(cè)試腳本中加入一些自定義的代碼?通過(guò)輪詢界面上某個(gè)指定元素,來(lái)判斷請(qǐng)求響應(yīng)是否返回,進(jìn)而決定繼續(xù)下一步操作或者是超時(shí)?但是,這樣的查找過(guò)程會(huì)導(dǎo)致整個(gè)腳本代碼變得非常臃腫,加大了開(kāi)發(fā)的成本。更何況,在一個(gè)動(dòng)態(tài)的頁(yè)面找到指定的元素本身就不是一件容易的事。Sahi內(nèi)置了智能的頁(yè)面等待機(jī)制,能夠自動(dòng)判斷Ajax請(qǐng)求是否已經(jīng)處理完畢,然后繼續(xù)下一步操作。并且,這一點(diǎn)對(duì)于用戶是“隱式”的,不需要增加額外的代碼。Sahi的工作原理:簡(jiǎn)單地說(shuō),用Sahi實(shí)現(xiàn)自動(dòng)化測(cè)試有三步,錄制,精煉腳本和回放,如下圖:圖3.Sahi工作的三個(gè)主要過(guò)程如上圖Sahi就是先用其自帶的錄制工具,把大致的操作過(guò)程錄制下來(lái),并用Sahi代碼記錄下整個(gè)操作過(guò)程。隨后,將自動(dòng)生成的代碼進(jìn)一步的精煉和開(kāi)發(fā),調(diào)用一些外部API或編寫(xiě)特定代碼來(lái)實(shí)現(xiàn)特定的操作。最后,用Sahi來(lái)回放保存好的最終腳本,Sahi就將自動(dòng)對(duì)Web應(yīng)用進(jìn)行定義好的測(cè)試操作。下面,本文將對(duì)這三個(gè)過(guò)程進(jìn)行詳細(xì)說(shuō)明.4.2.1第一步:錄制圖4。Recording過(guò)程的工作原理Sahi是通過(guò)運(yùn)行為一個(gè)代理服務(wù)器,并通過(guò)設(shè)置瀏覽器代理為Sahi服務(wù)器。這樣Sahi的腳本就能夠通過(guò)request請(qǐng)求來(lái)注入到JavaScript里以訪問(wèn)Web頁(yè)面中的元素。如圖,可以很清晰的看到Sahi就是Web瀏覽器和Web服務(wù)器之間的一個(gè)中間代理。第二步:精煉腳本圖5。RefineScript過(guò)程的工作原理錄制的腳本都是指定元素并唯一操作的,這時(shí)就需要對(duì)代碼進(jìn)行重構(gòu),抽取出核心的功能塊,對(duì)其中的元素進(jìn)行參數(shù)化處理,以實(shí)現(xiàn)重用。這樣的數(shù)據(jù)可以從外部的DB或文件中讀取而來(lái)。與此同時(shí),也可調(diào)用SahiAPI或外部Java等API實(shí)現(xiàn)特定的一些功能。第三步:回放圖6。Playback過(guò)程的工作原理Sahi運(yùn)行提煉好的腳本來(lái)自動(dòng)化測(cè)試操作,并生成測(cè)試報(bào)告。Sahi的安裝部署與配置Sahi雖然是Tyto公司的產(chǎn)品,但它的下載放在世界上最大的開(kāi)源軟件開(kāi)發(fā)網(wǎng)站SourceForge上,可以通過(guò)點(diǎn)擊這里下載。圖7.Sahi下載默認(rèn)推薦是下載加力Lxxx。jar,這是一個(gè)可執(zhí)行文件,包含了Sahi的安裝器和Sahi工具及其源代碼?當(dāng)然您也可以點(diǎn)擊上圖紅框處“BrowseAllFiles”來(lái)選擇歷史版本和一些免安裝壓縮文件。比如,選擇只包含Sahi工具的sahi_xxxozip文件,或者包含了Sahi和源代碼的免安裝壓縮包文件sahi-src_xxx.zip.一般建議選擇推薦的Sahi安裝包文件即可,這樣可以免去一些設(shè)置操作,并可以選擇是否安裝源代碼。雙擊jar文件進(jìn)行安裝,如圖:圖8.Sahi安裝安裝過(guò)程非常簡(jiǎn)單,待安裝完成后雙擊桌面圖標(biāo)打開(kāi)Sahi程序。打開(kāi)程序先會(huì)出現(xiàn)一個(gè)SahiDashboard,它能自動(dòng)開(kāi)啟Sahi代理服務(wù)來(lái)啟動(dòng)瀏覽器,而不需要繁瑣的代理服務(wù)器設(shè)置操作。當(dāng)然如有需要,您也可以手動(dòng)修改這些代理設(shè)置。圖9。SahiDashboard界面Sahi會(huì)自動(dòng)去偵探您系統(tǒng)里安裝的一些瀏覽器,并在SahiDashboard上顯示出來(lái),如果發(fā)現(xiàn)有一些其他的瀏覽器未被準(zhǔn)確偵探出來(lái),您也可以點(diǎn)擊下面的"Configure”來(lái)進(jìn)行配置添加進(jìn)來(lái)。接下來(lái),通過(guò)點(diǎn)擊SahiDashboard上的瀏覽器圖標(biāo)按鈕來(lái)啟動(dòng)相應(yīng)瀏覽器。圖10。Sahi啟動(dòng)firefox瀏覽器您可以輸入起始測(cè)試的網(wǎng)頁(yè)URL開(kāi)始您的測(cè)試?如果測(cè)試的目標(biāo)URL是HTTPS協(xié)議的,也可以點(diǎn)擊“SSLManager”來(lái)查看和管理SSL證書(shū)。圖11.SahiSSL管理界面按住Alt鍵并雙擊頁(yè)面,將彈出Sahi控制窗口,如圖12:這個(gè)窗口相當(dāng)于Sahi的主控臺(tái),在這里我們可以來(lái)錄制和回放Sahi腳本,并編輯和管理腳本信息。圖12。SahiController錄制在Record視圖界面,輸入一個(gè)腳本名稱,點(diǎn)擊Record”,這時(shí)Sahi錄制器便開(kāi)始工作了。把鼠標(biāo)移到瀏覽器上的目標(biāo)網(wǎng)頁(yè)上,您的所有操作過(guò)程都將被記錄下來(lái)。您也可以自定義增加一個(gè)Assertion?按住Ctrl鍵,把鼠標(biāo)移動(dòng)到目標(biāo)網(wǎng)頁(yè)的任意一個(gè)HTML元素,那么這個(gè)Accessor會(huì)自動(dòng)出現(xiàn)在Sahi控制器中。這時(shí),便可以自定制對(duì)該元素的操作。常用的操作有"點(diǎn)擊",“高亮”,"賦值等。同時(shí),您可以通過(guò)“AppendtoScript”按鈕來(lái)加到腳本代碼中。錄制完成后按“Stop”來(lái)結(jié)束整個(gè)過(guò)程。圖13。Sahi自動(dòng)生成腳本精煉圖13是一個(gè)簡(jiǎn)單的Sahi自動(dòng)錄制過(guò)程得到的Sahi腳本代碼?其大致過(guò)程為:通過(guò)百度搜索“sahi"關(guān)鍵字,校驗(yàn)Sahi官網(wǎng)的assert是否存在,點(diǎn)擊進(jìn)入Sahi官網(wǎng)后繼續(xù)校驗(yàn)assert“CommunityForums”,點(diǎn)擊進(jìn)入?通過(guò)前一節(jié)“SahiController錄制”來(lái)完成這個(gè)操作過(guò)程,那么,您可以在默認(rèn)目錄“C:\Users\IBM_ADMIN\sahi\userdata\scripts”中找到先前命名為“Test_sahi”的腳本文件,我們可以將這段代碼進(jìn)行一個(gè)精煉和豐富的過(guò)程,比如在點(diǎn)擊“CommunityForums”鏈接前將它進(jìn)行高亮操作:popupC'SahiwebTestAutomationTool")highlight(link("CommunityForums"));或者您想在Sahi腳本代碼中調(diào)用內(nèi)置的Java類,例如:functionprintThroughJava(s){java。lang.System.out。println("ThroughJava:"+s);}printThroughJava("Hithere");“ThroughJava:Hithere”將在sahi的命令行中輸出.圖14.SahiController回放回放的時(shí)候,只需要在Sahi控制臺(tái)上切換到“Playback"tab頁(yè)面,找到腳本存放的路徑,下面就有開(kāi)始、暫停和結(jié)束等按鈕來(lái)進(jìn)行操作。需要注意的是,開(kāi)始以前必須給它設(shè)置一個(gè)“StatURL”否則無(wú)法回放腳本。腳本回放的時(shí)候,在“Statements”里可以看到腳本運(yùn)行的日志,比如操作步驟和一些錯(cuò)誤信息等。通過(guò)點(diǎn)擊右下角的“ViewLogs'可以查看詳細(xì)的Sahi運(yùn)行日志報(bào)告:圖15。Sahi日志報(bào)告由圖可見(jiàn),這樣自動(dòng)錄制生成的腳本代碼都是Sahi代碼,我們可以在實(shí)際的Java項(xiàng)目中調(diào)用這些Sahi代碼,以實(shí)現(xiàn)重用。其實(shí),我們可以通過(guò)打開(kāi)sahi/config/perties文件將其中屬性設(shè)置為controller。mode=java來(lái)實(shí)現(xiàn)自動(dòng)錄制腳本的語(yǔ)言為Java。值得注意的是,改為Java語(yǔ)言錄制后的Sahi控制器和原來(lái)有所不同,它的界
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高效離婚訴訟協(xié)議模板編制指南
- 兩人合伙購(gòu)車法律合同范本2024版B版
- 二零二五年度農(nóng)民工就業(yè)合同范本(勞動(dòng)權(quán)益保障)
- 2025年度智能倉(cāng)儲(chǔ)車間租賃管理合同模板3篇
- 二零二五年度出租車租賃市場(chǎng)推廣與廣告合作協(xié)議4篇
- 二零二五年度初中學(xué)校紀(jì)律教育與安全防護(hù)協(xié)議書(shū)4篇
- 二零二五版樓層套房租賃合同書(shū)(含室內(nèi)空氣凈化服務(wù))4篇
- 2025年度能源企業(yè)常年法律顧問(wèn)聘請(qǐng)合同3篇
- 2025年度體育館場(chǎng)地標(biāo)準(zhǔn)租賃與賽事宣傳推廣合同
- 2025年環(huán)保污水處理設(shè)施建設(shè)及運(yùn)營(yíng)合同4篇
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書(shū)范文
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國(guó)光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測(cè)分析研究報(bào)告
- 湖南省岳陽(yáng)市岳陽(yáng)樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書(shū)
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無(wú)線廣播行業(yè)現(xiàn)狀分析
- 漢語(yǔ)言溝通發(fā)展量表(長(zhǎng)表)-詞匯及手勢(shì)(8-16月齡)
評(píng)論
0/150
提交評(píng)論