版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件質(zhì)量保證與測試第7章軟件測試自動化SoftwareQualityAssuranceandTesting
7.1概述什么是軟件測試自動化呢?它是相對手工測試而言的,是指通過開發(fā)的軟件分析和測試工具、編寫的測試腳本等,來實現(xiàn)軟件分析和測試過程的自動執(zhí)行。是把原本由人來執(zhí)行的測試行為轉(zhuǎn)化為機器自動執(zhí)行的一種軟件測試方式。軟件測試自動化的概念測試自動化3測試自動化的必要性
為什么要有軟件測試自動化呢?主要有以下幾大原因:首先當(dāng)軟件測試的工作量很大時,靠手工很難完成。例如,靜態(tài)測試中要對某個共有幾百萬行代碼的軟件進(jìn)行代碼檢查,看是否編碼規(guī)則;或者動態(tài)測試中要對某個軟件執(zhí)行幾萬個測試用例,這樣的測試工作如果完全要依靠手工操作,無疑是很難完成的。4測試自動化的必要性其次測試中的許多操作是簡單重復(fù)勞動,并要求準(zhǔn)確細(xì)致,手工完成容易出錯,并且讓人產(chǎn)生厭倦情緒,影響工作質(zhì)量和效率。例如重復(fù)執(zhí)行某一測試過程,輸入不同的數(shù)據(jù),并要求準(zhǔn)確細(xì)致記錄測試過程和結(jié)果,這樣的工作由人來完成會有一定的出錯率,并容易讓人產(chǎn)生厭倦情緒,既影響效率,又會進(jìn)一步增加出錯的概率;而如果讓計算機來自動完成,則出錯率會低幾個數(shù)量級,效率也會高很多。5測試自動化的必要性第三有些測試工作手工難以完成,必須要借助自動化手段,才能實現(xiàn),并可以降低成本。例如,要對某軟件做大規(guī)模的并發(fā)測試,需要幾千個客戶端同時打開使用,這樣的測試靠手工來完成很難做到,成本也會非常高。而如果采用自動化工具,則只需要產(chǎn)生出幾千個模擬的客戶端即可,既便于操作,成本也可以降低很多。6自動化測試的優(yōu)點自動化測試相較于手工測試具有很多優(yōu)點,應(yīng)用也越來越普遍,它的優(yōu)點具體包括:可以大幅度提高測試執(zhí)行的速度,提高效率,節(jié)省時間。例如對某軟件,手工執(zhí)行1個測試用例,記錄測試過程和結(jié)果需要1分鐘,而自動化執(zhí)行
1個測試用例,只要1毫秒。7自動化測試的優(yōu)點可以代替手工操作,節(jié)約人力資源,降低成本。計算機等設(shè)備的成本在不斷下降,而人力資源成本卻在持續(xù)上升,自動化測試通過用計算機自動執(zhí)行來代替手工操作,可以節(jié)約大量人力資源,從而降低測試成本。例如對某軟件,1個人1天可以執(zhí)行300個測試用例,綜合成本約600元,而1臺計算機1天可以執(zhí)行3萬個測試用例,綜合成本不到20元。自動化測試的優(yōu)點可以提高測試的準(zhǔn)確度和精確度。
在不斷重復(fù)的測試過程中,輸入數(shù)據(jù)、記錄過程和結(jié)果,人是很容易出錯的,而計算機卻可以做到準(zhǔn)確無誤。另外,人的反應(yīng)時間大約在0.1秒左右,這樣的話在測試工作中,人的精確度也是有限的,例如測試軟件的響應(yīng)時間,靠人來測試只能精確到十分之秒左右,而自動化測試可以精確到毫秒,甚至納秒。自動化測試的優(yōu)點能更好地利用時間資源和計算機等資源。
自動化測試的執(zhí)行是不受上下班時間限制的,甚至于可以24小時不間斷,這樣可以充分利用時間資源,縮短測試工作所需要的總時間。自動化測試執(zhí)行時間的靈活性,使得所需的計算機資源等也可以靈活配置,例如白天計算機等設(shè)備用于軟件開發(fā),而下班后則可用于執(zhí)行測試任務(wù),這樣也能更充分的利用計算機等資源。
自動化測試的優(yōu)點提升測試能力,完成手工難以完成的測試任務(wù)。手工測試是有很大局限性的,很多性能測試、實時系統(tǒng)測試、安全測試等難以通過手工來完成,此時必須依靠自動化測試手段,來執(zhí)行相關(guān)測試。例如負(fù)載測試時,需要不斷調(diào)整控制負(fù)載的大小,這靠手工操作很難完成的。
11自動化測試主要適用于以下情況:重復(fù)執(zhí)行,輸入大量不同數(shù)據(jù)的測試過程;回歸測試;用手工測試完成難度較大的測試,如性能測試、負(fù)載測試、強度測試等;自動生成部分測試用例;自動化測試的適用情況12測試過程及測試結(jié)果的自動記錄;測試結(jié)果與預(yù)期結(jié)果的自動比對;不匹配測試結(jié)果的匯總、統(tǒng)計分析和缺陷跟蹤;測試項目管理,如工作進(jìn)展?fàn)顩r統(tǒng)計;測試報告和報表的生成等。自動化測試的適用情況關(guān)于自動化測試也要防止陷入以下可能存在的認(rèn)識誤區(qū):1、自動化測試可以完全取代手工測試可以從三個方面來反駁這一觀點:首先,測試分析和設(shè)計的過程很難完全依靠計算機來自動完成,而且測試人員的經(jīng)驗和對錯誤的猜測能力,也是軟件工具所難以替代的。其次,對軟件的界面感受、用戶體驗等的測試是無法自動化完成的,人的審美觀和心理體驗是工具所不能模擬的。第三,有些執(zhí)行結(jié)果的正確性檢查難以完全實現(xiàn)自動化,人對是非的判斷和邏輯推理能力是目前工具所不具備的。
自動化測試的認(rèn)識誤區(qū)142、測試用例可完全由測試工具自動生成可以依靠測試工具自動生成一部分測試用例,但還需要全面分析,認(rèn)真設(shè)計,有針對性的手工生成一些測試用例,以提高測試的完備性和有效性。
自動化測試的認(rèn)識誤區(qū)3、自動化測試可適用于任何測試場景實際上,有些測試場景并不適合采用自動化測試:如果測試過程執(zhí)行次數(shù)很少,那么采用自動化測試的話就不劃算,因為自動化測試環(huán)境搭建、測試開發(fā)腳本成本很高。如果軟件運行很不穩(wěn)定,那么自動化測試過程可能很難順利完成。如果是需要通過人的主觀感受來進(jìn)行評判的測試同樣不適合采用自動化測試,因為無法給出有效的結(jié)論。如果是涉及到物理交互的測試,也無法自動化完成,因為測試過程中需要人的參與。
自動化測試的認(rèn)識誤區(qū)4、測試自動化后效率立刻提高;
一開始實行自動化測試的時候,需要學(xué)習(xí)測試工具的使用,編寫測試腳本等,效率不但不會馬上提升,反而會要花費很多的時間。只有在測試過程反復(fù)執(zhí)行的時候,工作效率才會提高,自動化測試的效果才會顯現(xiàn)。
自動化測試的認(rèn)識誤區(qū)自動化測試有它的優(yōu)點,也有其局限性。自動化測試并不比手工測試發(fā)現(xiàn)的缺陷更多自動化測試主要是把測試的執(zhí)行過程交給了計算機來自動完成,而能發(fā)現(xiàn)多少缺陷主要是測試設(shè)計決定的。簡單地說,在相同的測試設(shè)計、執(zhí)行相同的測試數(shù)據(jù)的情況下,自動化執(zhí)行和手工執(zhí)行測試發(fā)現(xiàn)的缺陷是一樣多的。自動化測試只是提高了測試執(zhí)行的效率,而不能提高測試的有效性。
自動化測試的局限性自動化測試腳本或程序自身也需要進(jìn)行正確性檢查和驗證自動化測試腳本或程序也是由人開發(fā)出來的,也存在出錯的可能性,因而也需要對其進(jìn)行正確性檢查和驗證。自動化測試的局限性自動化測試對測試設(shè)計的依賴性很大
自動化測試要能夠順利執(zhí)行并達(dá)到測試目的,它對測試設(shè)計的依賴性很大,要事先設(shè)計測試規(guī)程、測試數(shù)據(jù)、搭建測試環(huán)境,測試設(shè)計的質(zhì)量更為關(guān)鍵,自動化測試工具本身只是起到輔助作用。自動化測試的局限性自動化測試比手工測試更加“脆弱”,并需要進(jìn)行維護
自動化測試有非常具體的執(zhí)行條件,執(zhí)行過程也是固定的,當(dāng)被測試程序有修改或者測試環(huán)境條件有變化時,可能就無法執(zhí)行,非?!按嗳酢?。為適應(yīng)程序的修改、擴充,或者是環(huán)境條件的變化,自動化測試腳本和代碼需要不斷進(jìn)行維護。自動化測試的局限性自動化測試也需要相應(yīng)的成本投入實現(xiàn)自動化測試需要進(jìn)行測試人員培訓(xùn)、測試工具購買、測試環(huán)境部署、測試腳本或程序開發(fā)等,也會有相應(yīng)的成本投入,尤其是初期,比手工測試的開銷更大。自動化測試的局限性
隨著技術(shù)的發(fā)展,自動化測試工具越來越多,使用也越來越廣泛,可以從不同的角度對自動化測試工具進(jìn)行分類。根據(jù)測試方法不同,自動化測試工具可以分為:白盒測試工具、黑盒測試工具根據(jù)測試的對象和類型不同,自動化測試工具可以分為:單元測試工具、功能測試工具、負(fù)載測試工具、性能測試工具、Web測試工具、數(shù)據(jù)庫測試工具、回歸測試工具、嵌入式測試工具、頁面鏈接測試工具、測試設(shè)計與開發(fā)工具、測試執(zhí)行和評估工具、測試管理工具等。自動化測試工具的分類23下面我們來簡單介紹幾個常用的自動化測試工具。1、測試管理工具用于對測試進(jìn)行管理,負(fù)責(zé)對測試計劃、測試用例、測試的實施進(jìn)行管理。還能對產(chǎn)品缺陷進(jìn)行跟蹤管理、產(chǎn)品特性管理等。代表有:IBMRational公司的TeamManager、HPMercuryInteractive公司的TestDirector(QualityCenter)。常用自動化測試工具2、功能測試工具用于測試程序能否正常運行并達(dá)到預(yù)期的功能要求。代表有QTP:QuickTestProfessional。3、性能測試工具用于測試軟件系統(tǒng)的性能。代表有LoadRunner。4、白盒測試工具用于對代碼進(jìn)行白盒測試,代表有XUnit系列工具,如Junit。常用自動化測試工具
總的來說,自動化測試工具越來越多,使用越來越廣泛和普遍,但使用自動測試應(yīng)注意以下幾個問題:首先不要對自動化測試產(chǎn)生不現(xiàn)實的期望,測試工具不能解決所有的問題,對測試工具寄予過高的期望,最終將無法實現(xiàn);其次不要盲目建立大型自動化測試,尤其是缺乏自動化測試實踐經(jīng)驗,軟件變化大的情況下更是如此;使用自動測試應(yīng)注意的問題
第三建立自動化測試時要考慮它的可維護性和可復(fù)用性,如果用一次或者少數(shù)幾次就不能用了,那顯然是得不償失的;
第四要分析對測試任務(wù)進(jìn)行自動化執(zhí)行的可行性,并合理選擇測試工具。使用自動測試應(yīng)注意的問題本節(jié)內(nèi)容就講到這里,謝謝,再見!軟件質(zhì)量保證與測試第7章軟件測試自動化SoftwareQualityAssuranceandTesting
7.2自動化黑盒測試黑盒測試自動化
黑盒測試的執(zhí)行環(huán)節(jié),就是反復(fù)運行被測軟件,輸入數(shù)據(jù),記錄結(jié)果,并把實際執(zhí)行結(jié)果和預(yù)期結(jié)果進(jìn)行對比,來檢查軟件執(zhí)行是否正確。
可以采用自動化的手段來實現(xiàn)這種重復(fù)的黑盒測試執(zhí)行過程,這就是黑盒測試的自動化,或者叫自動化黑盒測試。
我們要實現(xiàn)某一執(zhí)行過程的自動完成,通常可以通過編寫代碼來實現(xiàn),例如以下代碼段:
s=0
fori=1to1000s=s+iendfor
可以自動完成從1到1000的累加。自動化黑盒測試的原理
類似的,我們也可以通過編寫代碼來實現(xiàn)黑盒測試執(zhí)行過程的自動完成,這被稱為腳本技術(shù)。例如,以下為一段測試腳本,用于實現(xiàn)對被測軟件的一次自動化執(zhí)行,為便于理解,腳本中對各個語句行的操作內(nèi)容進(jìn)行了注釋。自動化黑盒測試的原理——腳本技術(shù)startApp("ClassicsJavaA");//啟動應(yīng)用軟件ClassicsJavaAtree2().click(atPath("Composers->Bach->ViolinConcertos"));//在顯示的目錄樹中依次選擇Composers、Bach、ViolinConcertos............placeAnOrder().inputKeys("{Num3}{Num4}{Num1}{Num2}{Num3}{Num4}");
//輸入數(shù)字“341234”確定().click();//單擊“確定”按鈕classicsJava(ANY,MAY_EXIT).close();//關(guān)閉應(yīng)用軟件ClassicsJavaA自動化黑盒測試的原理——腳本技術(shù)測試腳本是一組可以在測試工具中執(zhí)行的指令集合,它是計算機程序的一種形式。通過測試腳本可以控制測試過程的自動化執(zhí)行。我們可以直接用腳本語言來編寫測試腳本,就像我們編寫其它高級語言程序一樣。但這要求編寫者對腳本語言非常熟悉。自動化黑盒測試的原理——腳本技術(shù)還有一種辦法,可以讓并不熟悉腳本語言的軟件測試人員也可以方便的得到測試腳本,那就是錄制技術(shù)。所謂腳本錄制是指,測試人員在支持腳本錄制的測試軟件中,把對被測軟件的測試過程手工執(zhí)行一次,執(zhí)行過程中,測試軟件會把測試的每一步操作,轉(zhuǎn)換為腳本語言代碼并記錄下來,并最終得到可以自動完成整個測試過程的測試腳本。通過錄制來得到測試腳本,可以減少腳本編程的工作量。自動化黑盒測試的原理——腳本錄制自動化黑盒測試的原理——腳本錄制支持腳本錄制的測試軟件手工執(zhí)行測試過程測試腳本轉(zhuǎn)換成代碼并記錄
錄制是將用戶的每一步操作都記錄下來。要記錄操作位置(即用戶界面的像素坐標(biāo))或操作對象(窗口、按鈕、滾動條等),以及相應(yīng)的操作(如輸入、單擊、事件觸發(fā)、狀態(tài)變化或是屬性變化等)。所有的記錄會轉(zhuǎn)換為一種用腳本語言所描述的過程,也就是指令集合,或者叫腳本程序。自動化黑盒測試的原理——腳本錄制腳本錄制好后,只要執(zhí)行腳本,就可以把測試過程重做一遍,這被稱為回放。也就是說,回放就是通過執(zhí)行測試腳本來重做測試過程。自動化黑盒測試的原理——回放自動化黑盒測試的原理——回放支持腳本錄制的測試軟件測試過程手工執(zhí)行測試腳本錄制回放測試過程自動執(zhí)行User******回放時,腳本語言所描述的過程會轉(zhuǎn)換為屏幕上的操作,并可以將被測軟件的輸出結(jié)果記錄下來,以便同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果進(jìn)行比較,判斷測試通過還是不通過。通過腳本回放,測試過程可以自動進(jìn)行,這樣可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,也能夠很好地進(jìn)行回歸測試。自動化黑盒測試的原理——回放可以對由錄制生成的腳本進(jìn)行修改和優(yōu)化。例如錄制過程中一些對測試而言沒有意義的操作如鼠標(biāo)的滑動等也會被錄制到測試腳本中,可以把這些內(nèi)容刪除,以提高測試的效率??梢园逊种А⒀h(huán)、函數(shù)調(diào)用等邏輯結(jié)構(gòu)加入到測試腳本中,類似于結(jié)構(gòu)化程序設(shè)計,以增強測試腳本的功能。腳本優(yōu)化
例如,某段測試腳本中,以下代碼行經(jīng)分析對測試而言沒有意義,應(yīng)刪除。memberLogon().dragToScreenPoint(atPoint(209,9),toScreenPoint(209,10));
//窗口拖動classicsCD().doubleClick(atPoint(533,368));//無用的鼠標(biāo)雙擊classicsCD().Click(atPoint(515,320));//無用的鼠標(biāo)單擊............腳本優(yōu)化借助于在腳本中插入數(shù)據(jù)驗證點,可以在腳本回放時進(jìn)行數(shù)據(jù)檢查驗證,以判斷測試過程或結(jié)果是否正確。例如,以下腳本代碼行用于插入數(shù)據(jù)驗證點,檢驗被測軟件計算得到的總金額是否等于預(yù)定值:_15090().performTest(OrderTotalAmountVP());數(shù)據(jù)驗證點
以下腳本代碼中插入了數(shù)據(jù)驗證點,檢驗被測軟件顯示的提示文本是否符合預(yù)期:startApp("ClassicsJavaA");............placeOrder().click();rememberPassword().performTest(Password_textVP());ok().click();數(shù)據(jù)驗證點
課堂提問:通過閱讀腳本,請同學(xué)們看一下其中哪一行是插入的驗證點?startApp("ClassicsJavaA");............placeOrder().click();rememberPassword().performTest(Password_textVP());ok().click();數(shù)據(jù)驗證點數(shù)據(jù)驗證點除了可以判斷測試過程或結(jié)果是否正確之外,還可以實現(xiàn)腳本代碼執(zhí)行和界面顯示之間的同步。例如,測試流程為:在前一個界面執(zhí)行后,彈出后一個界面,然后在后一個界面單擊“ok”按鈕。但可能當(dāng)腳本代碼執(zhí)行到要在后一個界面單擊“ok”按鈕時,后一個界面“ok”按鈕還沒有顯示出來,此時,應(yīng)在實現(xiàn)單擊“ok”按鈕的代碼行之前,插入數(shù)據(jù)驗證點,檢查后一個界面“ok”按鈕是否已經(jīng)顯示出來。數(shù)據(jù)驗證點測試腳本如下:............tree2().click(atPath("Composers->Bach->Location(PLUS_MINUS)"));tree2().click(atPath("Composers->Bach->ViolinConcertos"));placeOrder().click();placeOrder2().performTest(okButtonPropertiesVP());//驗證點ok().click();數(shù)據(jù)驗證點把測試腳本一成不變的重復(fù)執(zhí)行很多次意義并不大,通過為測試腳本配置數(shù)據(jù)驅(qū)動,可以在重復(fù)執(zhí)行測試腳本的過程中,每次輸入不同的測試數(shù)據(jù),以實現(xiàn)大量測試數(shù)據(jù)的自動測試執(zhí)行。測試腳本的數(shù)據(jù)驅(qū)動就是在腳本中把輸入數(shù)據(jù)設(shè)置為變量,并配置一張變量的取值表,每次執(zhí)行測試腳本時從變量的取值表中取出一行作為輸入數(shù)據(jù),來完成測試。數(shù)據(jù)驅(qū)動有了測試腳本的數(shù)據(jù)驅(qū)動,雖然測試過程是一樣的,但測試輸入的數(shù)據(jù)并不相同,每一次測試都能達(dá)到不同的測試目的。數(shù)據(jù)驅(qū)動測試腳本變量1變量2變量3......................................................+概括起來,腳本可以分為多種類型:線性腳本——是錄制手工執(zhí)行測試過程得到的腳本。結(jié)構(gòu)化腳本——類似于高級語言程序,具有各種邏輯結(jié)構(gòu)(順序、分支、循環(huán)),而且具有函數(shù)調(diào)用功能。數(shù)據(jù)驅(qū)動腳本、關(guān)鍵字驅(qū)動腳本、共享腳本等。測試腳本本節(jié)內(nèi)容就講到這里,謝謝,再見!軟件質(zhì)量保證與測試7.3Web自動化測試實踐第7章自動化測試SoftwareQualityAssuranceandTesting實現(xiàn)Web自動化測試,需要搭建較為復(fù)雜的測試環(huán)境。Web自動化測試入門安裝JavaJava環(huán)境分JDK和JRE,JDK就是JavaDevelopmentKit,它是面向開發(fā)人員使用的SDK,提供了Java的開發(fā)環(huán)境和運行環(huán)境。JRE是JavaRuntimeEneiroment,是指Java的運行環(huán)境,是面向Java程序的使用者。可以從官網(wǎng)下載Java,網(wǎng)址:/technetwork/java/javase/downloads/index.html。下載后安裝,安裝完成之后切記配置環(huán)境變量如下:JAVA_HOME:C:\ProgramFiles\Java\jdk1.8.0_191\CLASS_PATH:;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
環(huán)境變量配好后,按Windows+R鍵,鍵盤輸入cmd,打開命令窗口,先輸入java,然后回車,再輸入javac,然后回車,可以驗證java是否安裝成功。注意,為了防止因軟件版本差異導(dǎo)致測試腳本不能正確執(zhí)行,建議使用jdk1.8版本。Web自動化測試入門安裝eclipse
可以從全國大學(xué)生軟件測試大賽技術(shù)支持網(wǎng)站/直接下載帶有大賽Mooctest插件的免安裝的eclipse,也可以自行安裝eclipse。安裝selenium
可以從全國大學(xué)生軟件測試大賽技術(shù)支持網(wǎng)站下載selenium-standalone.jar,然后復(fù)制到C:\mooctest,如果文件夾不存在,請自己創(chuàng)建。安裝GoogleChrome下載安裝GoogleChrome,然后配置環(huán)境變量,在系統(tǒng)變量中新建變量名webdriver.chrome.bin,變量值為chrome.exe的文件路徑。例如:
C:\ProgramFiles\Google\Chrome\Application\chrome.exeWeb自動化測試入門安裝對應(yīng)版本的chromedriver下載與GoogleChrome版本對應(yīng)的chromedriver_win32.zip,將其解壓,并把解壓出來的文件路徑添加到環(huán)境變量中的Path,注意是添加不是新建。然后新建變量名webdriver.chrome.driver,變量值為chromedriver_win32.zip解壓出來的exe文件路徑。注意chromedriver的版本一定要與GoogleChrome瀏覽器版本配套,否則無法用測試腳本打開GoogleChrome瀏覽器。在eclipse
中加載selenium
jar包Web自動化測試入門
打開eclipse,依次點擊File---->New---->Project,在eclipse中創(chuàng)建JavaProject、命名為“SeleniumTest1”。Web自動化測試入門
在SeleniumTest1上創(chuàng)建Package(包package的概念可以理解為程序的集合)和Class,Package命名為“com.SeleniumLib.jase”,Class命名為“T1.java”。Web自動化測試入門
導(dǎo)入需要用到的Selenium包,即前面下載并解壓的Seleniumjar包,添加其下面的所有jar文件,可以通過Ctrl+a一次選擇一個目錄下的所有文件進(jìn)行添加,包括libs目錄下的所有jar包。
具體操作為,右擊SeleniumTest1--->BuildPath--->AddLibraries。這樣在eclipse中加載selenium
jar包就完成了。Web測試實踐網(wǎng)頁跳轉(zhuǎn)//用driver.get(“******”),跳轉(zhuǎn)到指定的網(wǎng)頁******//以下代碼行,用于跳轉(zhuǎn)到百度首頁driver.get("/");獲取被測對象id把鼠標(biāo)光標(biāo)移到網(wǎng)頁的組件上,點右鍵,會出現(xiàn)右鍵菜單。例如在百度主頁上,用鼠標(biāo)指向“百度一下”按鈕,會出現(xiàn)如圖8-7所示界面。Web測試實踐點擊“檢查”,右側(cè)會顯示代碼窗口,能看到“百度一下”按鈕對應(yīng)的代碼行,以及它的ID。復(fù)制ID,然后把ID粘貼到測試腳本中。driver.findElement(By.id("su")).click();Web測試實踐獲取被測對象xpath把鼠標(biāo)光標(biāo)移到網(wǎng)頁的組件上,點右鍵,會出現(xiàn)右鍵菜單,然后點擊“檢查”,然后在右側(cè)的代碼窗口,點擊藍(lán)色選中條的左邊三個小點,接著在出現(xiàn)的菜單中,依次點擊“Copy”、“CopyXPath”,如圖8-9所示。注意,點擊完后是把網(wǎng)頁組件的XPath信息復(fù)制到了剪貼板,沒有直接的結(jié)果反饋。
通過CopyXPath,網(wǎng)頁組件的XPath信息被復(fù)制到了剪貼板,然后在測試腳本中粘貼,即可得到組件的XPath。driver.findElement(By.xpath("http://*[@id=\"su\"]")).click();Web測試實踐實現(xiàn)模擬鼠標(biāo)點擊操作
//通過id定位元素,并進(jìn)行點擊操作driver.findElement(By.id("su")).click();//通過XPath定位元素,并進(jìn)行點擊操作driver.findElement(By.xpath("http://*[@id=\"su\"]")).click();
Web測試實踐模擬鍵盤輸入模擬鍵盤輸入,可用sendKeys(),示例腳本如下。
Web測試實踐等待可用Thread.sleep()實現(xiàn)等待。
網(wǎng)頁窗口最大化可用maximize()控制網(wǎng)頁窗口最大化。//網(wǎng)頁最大化driver.manage().window().maximize();
Web測試實踐關(guān)閉瀏覽器窗口可用driver.quit()關(guān)閉瀏覽器窗口,示例代碼如下。
public
static
void
main(String[]args){
//Runmainfunctiontotestyourscript.
WebDriverdriver
=new
ChromeDriver();
try
{test(driver);}
catch(Exceptione){e.printStackTrace();}
finally
{driver.quit();}
//測試完成后關(guān)閉瀏覽器窗口
}入門實踐案例
在介紹了測試環(huán)境搭建、工具安裝和基本的測試操作之后,下面我們來看一個最簡單的入門實踐案例,這個案例完成的測試操作是,用測試腳本打開百度主頁,輸入搜索關(guān)鍵詞“軟件測試”,點擊“百度一下”開始搜索,等待5秒,以便完成搜索并查看搜索結(jié)果,然后關(guān)閉瀏覽器。入門實踐案例新建Class在如前述建好的Java項目SeleniumTest1中新建Class,名稱Web_test1。也可以直接從全國大學(xué)生軟件測試大賽技術(shù)支持網(wǎng)站/下載配置好的Web測試項目。入門實踐案例導(dǎo)入進(jìn)行web測試所需包文件在Web_test1.java中導(dǎo)入進(jìn)行web測試所需的文件。入門實踐案例建立test方法在ClassWeb_test1下建立test方法,代碼如下,代碼中給出了注釋。public
static
void
test(WebDriverdriver){
try
{
driver.manage().window().maximize();//網(wǎng)頁最大化
driver.get("/");//跳轉(zhuǎn)網(wǎng)頁
//等待網(wǎng)頁加載完成
Thread.sleep(1000);
//輸入搜索關(guān)鍵詞。獲取搜索框id的方法見“8.2.1基本測試操作”。
driver.findElement(By.id("kw")).sendKeys("軟件測試");
//點擊“百度一下”按鈕開始搜索。
driver.findElement(By.id("su")).click();
//等待,以便完成搜索
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外國文學(xué)試題及答案
- 納米晶體科普
- 特殊用餐包房管理制度(3篇)
- 礦石運輸質(zhì)量管理制度(3篇)
- 2026年及未來5年市場數(shù)據(jù)中國海水淡化設(shè)備市場發(fā)展前景預(yù)測及投資戰(zhàn)略咨詢報告
- 《GA 574-2005警服材料 中空組合式大檐帽架》專題研究報告深度
- 《GAT 1384-2017刑事案件偵查業(yè)務(wù)實體數(shù)據(jù)項》專題研究報告
- 2025-2026學(xué)年四年級上冊道德與法治【知識點+單元+期中+期末測試卷題】
- 養(yǎng)老院九防制度
- 企業(yè)員工獎懲與晉升管理制度
- 2026屆重慶市德普外國語學(xué)校數(shù)學(xué)七年級第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 財務(wù)固定資產(chǎn)培訓(xùn)課程
- 正常分娩期婦女的護理
- 如何做部門管理和運營匯報
- 2025年發(fā)酵飲料行業(yè)研究報告及未來行業(yè)發(fā)展趨勢預(yù)測
- 合同變更協(xié)議(收款賬戶變更)
- 2025年血站護士招聘考試題庫
- 2024版電網(wǎng)典型設(shè)計10kV配電站房分冊
- 嗜鉻細(xì)胞瘤副神經(jīng)節(jié)瘤診療指南(2025年版)
- 中國環(huán)烷基潤滑油行業(yè)市場調(diào)查報告
- 《SPSS與AMOS在中介效應(yīng)與調(diào)節(jié)效應(yīng)分析中的應(yīng)用》
評論
0/150
提交評論