版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 WebDriver 自動化演變之路Web自動化現(xiàn)狀據(jù)我觀察,想學自動化的同仁都是沖著以下幾點去學1: 為了找工作學自動化 ,覺得這個高大上,面試時說了這個有加分項2: 看到人家學,自已也想跟風3: 在實際測試過程中重復(fù)操作太多,跳過重復(fù)測試項又擔心測試不嚴,擔心出現(xiàn)線上Bug帶著以下幾個問題,我?guī)Т蠹襾砹私庀伦詣踊笆澜裆?,如何一步步?yōu)化讓自動化真正服務(wù)于企業(yè)演變之一 Selenium IDE 首先大家剛?cè)腴T肯定會聽到過IDE 吧,對,我也是從I錄制入門,錄完之后就能看到畫面在動,選擇文件導(dǎo)出之后就可以自動生成代碼,覺得好興奮,感覺一下子就可以成為會自動 化的測試人員了在這順便也將最入門的知
2、識一普及下,如何使用IDE 工具首先下載 xpi 并解壓縮,之后拖動文件到游覽器可以選擇不同語言安裝重啟瀏覽器在菜單欄找 這個圖標將會彈出下視窗之后在瀏覽器輸入網(wǎng)址執(zhí)行任意操作執(zhí)行之后切換到Selenium IDE 窗口就能看到有部分控件id 點擊運行之后瀏覽器會自動執(zhí)行相關(guān)操作選擇文件導(dǎo)出之后可以自動生成自動化代碼IDE 在剛?cè)腴T時部分控件定位方式不知怎么寫時,可以試著錄制一次,之后導(dǎo)出源代碼,查test() 方法中的定位方式還有另一種方法是在IDE 窗體中選中一行控件,之后點按鍵,系統(tǒng)會在瀏覽器對應(yīng)元素上高亮一下,如可能高亮,代表定位方式是正確的,另外I窗體中Command 和Target
3、 下拉菜單是可以選擇的,IDE 工具優(yōu)缺點總結(jié)優(yōu)點: 入門簡單,安裝之后就可以使用,也能自動生成代碼,對無代碼功底同仁不失為一個很好的學習范例缺點: 腳本錄制之后只能執(zhí)行一次完全相同的操作,即使是數(shù)據(jù)相同,操作完全相同也無法執(zhí)行第二次演變之二 手工編寫硬代碼(元素,數(shù)據(jù),代碼全集成在一起)基于以上缺點我們將代碼做一些優(yōu)化,手動編寫代碼的方式,可以對關(guān)鍵操作之后增加斷言,確認結(jié)果是否與預(yù)期相同public static void test() WebDriver driver=new FirefoxDriver();driver.get("driver.findElement(By.i
4、d("kw").sendKeys("迅銀網(wǎng)");driver.findElement(By.id("su").click();String text=driver.findElement(By.xpath("/h3/atarget='_blank'text()='-互聯(lián)網(wǎng)金融綜合服務(wù)平臺'/emtext()='迅銀'").getText();Assert.assertEquals("迅銀", text);System.out.println(&qu
5、ot;驗證PASS"+text);類似于上面手工編寫代碼如果步驟比較多的話,相同代碼會很多,比如點擊操作,那一條 操作會要寫一次driver.findElement(By.id("xxxxxx").click()由上面實例我們可以發(fā)現(xiàn)優(yōu)點: 手工編寫代碼較IDE 生成代碼要靈活,可以斷言,可以任意增加刪除代碼缺點: 相同操作代碼要重復(fù)編寫,而已每一行還很長演變之三 (操作方法二次封裝)為解決上述問題我們可以嘗試將相同操作二次封裝,可以精簡每一行代碼量這樣簡單的二次封裝下代碼量就減少了不少我們還可以將不同的操作放在一個方法里,比如網(wǎng)站登錄多個操作封裝成一個方法最終爆
6、露給用戶的就只要輸入用戶名,密碼兩個參數(shù)就可以完成網(wǎng)站打開,輸入用戶名,密碼,點登錄多個操作Login(driver,”張三”,“123456”);演變之四 (數(shù)據(jù)驅(qū)動)上述操作解決了個簡化了部分代碼,但如果數(shù)據(jù)要變化,就需要重新編寫代碼,所以我們可以繼續(xù)優(yōu)化操作,將代碼與數(shù)據(jù)分離,比如上面登錄操作,我們可以將用戶名和密碼放到一個Excel 文件中,在每次執(zhí)行時去讀Excel 相對應(yīng)的數(shù)據(jù)第一次執(zhí)行l(wèi)ogin 方法時Login(driver,,“QQQQQQ”);第二次執(zhí)行是:Login(driver,,“QQQQQQ”);類似于這樣,相同測
7、試步驟我們就只需要寫一次用例,也就是網(wǎng)上所講的數(shù)據(jù)驅(qū)動測試數(shù)據(jù)驅(qū)動方式有好多種,既可以從Excel 中讀取數(shù)據(jù),也可以 從XML 中讀取,還可以從代碼數(shù)據(jù)提供者中讀取演變之五 (POM 頁面對象管理)到這里我們了解到了數(shù)據(jù)驅(qū)動測試,但還是有個問題,如果公司以這種方式來實施自動化,首先公司得配置大量專業(yè)級別的有開發(fā)功底的自動化工程師,因為測試系統(tǒng)任意元素變化,與之相關(guān)的測試元素定位全要修改所以我們可以再上面數(shù)據(jù)與代碼分離的基礎(chǔ)上繼續(xù)優(yōu)化,測試元素與代碼實現(xiàn)分離使用一個專門的E或文檔來維護測試對象,如果元素有變化,只需要 在元素管理的文檔中稍作更新,與之相關(guān)的代碼仍可使用也可以用一個類來管理對象屬
8、性,如下我用一個page 的類來管理 登錄屬性后續(xù)要操作登錄時就直接用page.username 引用那個屬性,假如userrname 的屬性變了,那我們只需要修改page 中的屬性即可這種方式管理對象屬性網(wǎng)上有一個專用名稱叫Page Object Model | POM現(xiàn)在我們知道可以將數(shù)據(jù)與代碼分開,代碼與元素分離,但實際還是存在一個問題,假如 測試元素,測試數(shù)據(jù)都存在,如何樣將這些步驟組合起來成為一個完整的測試用例呢,是繼續(xù)用代碼的方式一行行累積,還是換一種方式來編寫用例呢,演變之六 (關(guān)鍵字驅(qū)動)為此我們可以設(shè)想下是否可以測試方法轉(zhuǎn)義,比如click 給起個別名叫點擊操作我編寫用例時就不需要有太多英文的操作方法,同樣每個對象屬性我們也可以 給個中文名稱元素管理Sheet用例編寫Sheet像上面我們將所有對象全轉(zhuǎn)換成中文,編寫用例時只需要選擇對應(yīng)的中文名稱,系統(tǒng)就會自動匹配到相關(guān)xpath 路徑出來(這種網(wǎng)上的叫法叫關(guān)鍵字驅(qū)動,就是編寫自動化用例時不需要任何代碼,全部用中文就可以實現(xiàn)編寫完用例,這樣公司也不需要自動化開發(fā)人員來編寫代碼,功能測試人員即可自主完成用例編寫
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東東軟學院《審計與認證業(yè)務(wù)(ACCA)》2023-2024學年第一學期期末試卷
- 廣東創(chuàng)新科技職業(yè)學院《商務(wù)英語聽力(三)》2023-2024學年第一學期期末試卷
- 廣東工程職業(yè)技術(shù)學院《系統(tǒng)工程學》2023-2024學年第一學期期末試卷
- 公益崗培訓(xùn)內(nèi)容
- 廣東財經(jīng)大學《機器人與人工智能導(dǎo)論》2023-2024學年第一學期期末試卷
- 培訓(xùn)課件教學
- 贛南醫(yī)學院《面向?qū)ο笳n程設(shè)計》2023-2024學年第一學期期末試卷
- 贛東學院《寫作綜合實訓(xùn)》2023-2024學年第一學期期末試卷
- 甘孜職業(yè)學院《現(xiàn)代紡織服裝理論與技術(shù)》2023-2024學年第一學期期末試卷
- 2022年上海會計從業(yè)資格考試題庫(含典型題)
- 最好用高速公路機電維修手冊
- 家庭管理量表(FaMM)
- 土默特右旗高源礦業(yè)有限責任公司高源煤礦2022年度礦山地質(zhì)環(huán)境年度治理計劃
- 【金屬非金屬礦山(地下礦山)安全管理人員】考題
- 腰椎間盤突出癥的射頻治療
- 神經(jīng)外科手術(shù)的ERAS管理策略
- mt煤礦用氮氣防滅火技術(shù)
- ASTM-B117-16-鹽霧實驗儀的標準操作規(guī)程(中文版)
- 【超星爾雅學習通】《老子》《論語》今讀網(wǎng)課章節(jié)答案
- 配電箱采購技術(shù)要求
- 上海外國語大學附屬外國語學校2020-2021七年級下學期期中英語試卷+答案
評論
0/150
提交評論