自動(dòng)化基礎(chǔ)知識(shí)_第1頁
自動(dòng)化基礎(chǔ)知識(shí)_第2頁
自動(dòng)化基礎(chǔ)知識(shí)_第3頁
自動(dòng)化基礎(chǔ)知識(shí)_第4頁
自動(dòng)化基礎(chǔ)知識(shí)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

自動(dòng)化基礎(chǔ)知識(shí)英文標(biāo)題:30-40pt副標(biāo)題:24-28pt字體顏色:R0G0B0內(nèi)部使用字體:Arial外部使用字體:Arial中文標(biāo)題:32-40pt字體:宋體副標(biāo)題:24-28pt字體顏色:R0G0B0字體:華文細(xì)黑Web功能自動(dòng)化測(cè)試

——WatirWebDriver

第一講:基礎(chǔ)知識(shí)什么是功能自動(dòng)化測(cè)試?一般是指軟件測(cè)試的自動(dòng)化。自動(dòng)化測(cè)試可理解為測(cè)試過程自動(dòng)化和測(cè)試結(jié)果分析自動(dòng)化,包括測(cè)試活動(dòng)的管理與實(shí)施、測(cè)試腳本的開發(fā)與執(zhí)行。軟件自動(dòng)化測(cè)試模擬手動(dòng)測(cè)試步驟,控制被測(cè)軟件的執(zhí)行,完成全自動(dòng)或半自動(dòng)測(cè)試的過程。全自動(dòng)測(cè)試:指不需人工干預(yù),由程序自動(dòng)完成測(cè)試的全過程。半自動(dòng)測(cè)試:指在測(cè)試過程中,需手動(dòng)輸入測(cè)試用例或選擇測(cè)試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試。為什么需要功能自動(dòng)化測(cè)試?刪除功能手動(dòng)測(cè)試自動(dòng)化測(cè)試手動(dòng)單擊刪除按鈕肉眼查看記錄是否存在編寫或錄制腳本調(diào)試或回放腳本運(yùn)行查看測(cè)試報(bào)告為什么需要功能自動(dòng)化測(cè)試?注意:自動(dòng)化測(cè)試雖然具有很多優(yōu)點(diǎn),但它只是測(cè)試工作的一部分,是對(duì)手工測(cè)試的一種補(bǔ)充。增加軟件信任度節(jié)省人力資源提高工作效率功能自動(dòng)化測(cè)試前提條件1軟件需求變動(dòng)不頻繁穩(wěn)定的模塊進(jìn)行自動(dòng)化測(cè)試2項(xiàng)目周期足夠長自動(dòng)化測(cè)試是開發(fā)過程,需要較長時(shí)間3自動(dòng)化腳本可重復(fù)使用成本應(yīng)不大于所創(chuàng)造的經(jīng)濟(jì)價(jià)值如何實(shí)現(xiàn)功能自動(dòng)化測(cè)試?開源框架Selenium2.0(WebDriver)、Watir等商業(yè)工具QTP、RationalRobot、SilkTest等開源框架與商業(yè)工具比較開源(如Selenium2.0)商業(yè)(如QTP)免費(fèi)豐富的代碼庫易維護(hù)功能強(qiáng)大可視化界面支持腳本錄制開源功能自動(dòng)化框架比較Selenium2.0多瀏覽器支持多語言支持Watir語法簡單易擴(kuò)展WatirWebDriverWatirWebDriver是SeleniumWebDriver的一個(gè)封裝,使得SeleniumWebDriver的API更加友好,同時(shí)使用了Watir的API組織形式,使得代碼更簡潔和優(yōu)雅。Selenium2.0WatirWatirWebDriverWatirWebDriver當(dāng)然,我們可以通過以下鏈接,非常方便的獲取到WatirWebDriver的API進(jìn)行閱讀。常用API介紹Browser初始化瀏覽器browser=Watir::Browser.new:ie#其中,“:ie”表示IE瀏覽器,其他瀏覽器例如:“:chrome”,“:firefox”訪問站點(diǎn)browser.goto“url”關(guān)閉瀏覽器browser.closeButton按鈕單擊browser.button(:id=>“btn”).click按鈕雙擊browser.button(:id=>“btn”).double_click按鈕是否存在browser.button(:id=>“btn”).exists?#一般用于測(cè)試結(jié)果斷言

CheckBox復(fù)選框勾選browser.checkbox(:id=>“cbx”).set復(fù)選框取消勾選browser.checkbox(:id=>“cbx”).clear復(fù)選框是否勾選browser.checkbox(:id=>“cbx”).set?#一般用于測(cè)試結(jié)果斷言復(fù)選框是否存在browser.checkbox(:id=>“cbx”).exists?

TextField文本框設(shè)置值browser.text_field(:id=>“txt”).set“value”#文本框自動(dòng)清空,全量輸入文本框輸入值browser.text_field(:id=>“txt”).send_keys“value”#文本框不清空,增量輸入是否存在browser.text_field(:id=>“txt”).exists?

#一般用于測(cè)試結(jié)果斷言

SelectList下拉框根據(jù)值選擇browser.select_list(:id=>sel”).select“value”下拉框是否存在browser.select_list(:id=>“sel”).exists?#一般用于測(cè)試結(jié)果斷言

Radio單選框勾選browser.radio(:id=>“ra”).set單選框是否勾選browser.radio(:id=>“ra”).set?#一般用于測(cè)試結(jié)果斷言是否存在browser.radio(:id=>“ra”).exists?#一般用于測(cè)試結(jié)果斷言

Link超鏈接單擊browser.link(:id=>“l(fā)nk”).click超鏈接雙擊browser.link(:id=>“l(fā)nk”).double_click是否存在browser.link(:id=>“l(fā)nk”).exists?#一般用于測(cè)試結(jié)果斷言

如何定位元素?如何定位元素使用id定位HTML代碼:<inputtype="text"

class=“css"

id=“txtBox1"

name="usertxtBox"

>Ruby代碼:browser.text_field(:id=>“txtBox1”).set“user”

如何定位元素Page23使用name定位HTML代碼:<inputtype="text"

class=“css"

id=“txtBox1"

name="usertxtBox"

>Ruby代碼:browser.text_field(:name=>“usertxtBox”).set“user”

如何定位元素使用class定位HTML代碼:<inputtype="text"

class=“css"

id=“txtBox1"

name="usertxtBox"

>Ruby代碼:browser.text_field(:“css”).set“user”

如何定位元素Page25使用xPath定位HTML代碼:<inputtype="text"

class=“css"

id=“txtBox1"

name="usertxtBox"

>Ruby代碼:browser.text_field(:xpath=>“//*[@id=‘txtBox1’]”).set“user”

如何定位元素使用多種方式相結(jié)合定位HTML代碼:<div><inputtype="text"

name="usertxtBox"

><inputtype="text"

name="usertxtBox"

></div>Ruby代碼:browser.text_field(:name=>“usertxtBox”,:index=>0).set“user”

如何定位元素使用層級(jí)關(guān)系定位HTML代碼:<divid=“kw”><inputtype="text"

name="usertxtBox"

></div>Ruby代碼:browser.div(:id=>“kw”).text_field(:name=>“usertxtBox”).set“user”

如何處理FrameFrame有時(shí)定位了元素后,在運(yùn)行程序時(shí)仍會(huì)提示我們找不到該元素。這時(shí),很大的可能是該元素外部包圍了frame。我們可以通過下列方式定位Frame中的元素:HTML代碼:<iframename=“mainFrame”>……<inputtype="text"

name="usertxtBox"

></iframe>Ruby代碼:browser.frame(:name=>“mainFrame”).text_field(:name=>“usertxtBox”).set“user”如何處理彈出的新瀏覽器通過title定位browser.window(:title=>"annoyingpopup").usedo

browser.button(:id=>"close").clickend獲取最后一個(gè)窗口browser.windows.last.usedo

browser.button(:id=>"close").clickend

如何處理JS彈出窗口Alert處理browser.alert

do

browser.button(:value

=>

'Alert').click

endConfirm處理browser.confirm(true)

do

browser.button(:value

=>

'Confirm').click

end

斷言模擬用戶操作結(jié)果斷言斷言在Ruby1.9以上版本中,內(nèi)置了MiniTest庫,主要用于單元測(cè)試,我們需要用它來進(jìn)行TestCase生命周期的管理和結(jié)果的斷言。MiniTest::Unit::TestCaseMiniTest::Assertions斷言MiniTest::Unit::TestCase類TestCase類提供了許多方法,我們一般會(huì)繼承該類,并重寫其中3個(gè)方法來搭建起一個(gè)測(cè)試用例,包括前置條件、操作步驟、預(yù)期結(jié)果、后置操作。而在操作步驟中,利用WatirWebDriver提供的一系列方法模擬用戶操作。setup()在test_*()方法運(yùn)行之前運(yùn)行,一般可看成前置條件,若沒有可不寫test_*()Testcase的主體部分,一般包括操作步驟和預(yù)期結(jié)果(即斷言)teardown()在test_*()方法運(yùn)行之后運(yùn)行,一般為關(guān)閉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論