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

下載本文檔

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

文檔簡介

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

——WatirWebDriver

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

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

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

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

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

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

Link超鏈接單擊browser.link(:id=>“l(fā)nk”).click超鏈接雙擊browser.link(:id=>“l(fā)nk”).double_click是否存在browser.link(:id=>“l(fā)nk”).exists?#一般用于測試結(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”

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

name="usertxtBox"

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

如何處理FrameFrame有時定位了元素后,在運(yùn)行程序時仍會提示我們找不到該元素。這時,很大的可能是該元素外部包圍了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獲取最后一個窗口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庫,主要用于單元測試,我們需要用它來進(jìn)行TestCase生命周期的管理和結(jié)果的斷言。MiniTest::Unit::TestCaseMiniTest::Assertions斷言MiniTest::Unit::TestCase類TestCase類提供了許多方法,我們一般會繼承該類,并重寫其中3個方法來搭建起一個測試用例,包括前置條件、操作步驟、預(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等.壓縮文件請下載最新的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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論