




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Selenium基礎(chǔ),主講人:張恒健,目錄,Selenium 簡介 Selenium 原理 Selenium + WebDriver 使用方法 使用中Selenium的問題,簡介篇,Selenium簡介,Selenium是一款基于web應(yīng)用程序的開源測試工具。Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。 它支持Firefox、IE、Chrome等眾多瀏覽器。它同時直至JAVA、Python、Ruby、PHP、Perl等眾多的主流腳本語言。,Selenium簡介-特點(diǎn),開源、免費(fèi)、輕量 簡單、靈活 支持分布式測試用例執(zhí)行 多瀏覽器支持:Firefox、Chrome、IE 多
2、平臺支持:Linux、windows、MAC 多語言支持:Java、Python、Ruby、Php、C# Selenium IDE提供錄制功能(回放準(zhǔn)確度低暫不推薦使用),Selenium組成,Selenium Core 在Server端直接放置JavaScript文件; Selenium IDE Firefox插件,可以自動錄制腳本,但是比較簡單;可以將錄制得到的腳本轉(zhuǎn)為其他語言; Selenium Remote Control 需要一個Server(用java 或 Python開發(fā))作為Proxy訪問被測試Web Server,同時需要編寫代碼模擬對Server的訪問 Selenium G
3、rid 大規(guī)模的分布式訪問,可以實(shí)現(xiàn)并行訪問測試。,原理篇,Selenium原理,Selenium的核心browser bot是用 JavaScript 編寫的。這使得測試腳本可以在受支持的瀏覽器中運(yùn)行。browser bot 負(fù)責(zé)執(zhí)行從測試腳本接收到的命令,測試腳本編寫測試所需完成的測試行為。 再通過bot在Web 頁面中增加一組JavaScript,在測試過程中通過調(diào)用這些JavaScript實(shí)現(xiàn)對頁面的操作;,Selenium家譜,Selenium WebDriver VS. SeleniumRC體系結(jié)構(gòu)對比,Selenium RC VS Selenium Webdriver,使用篇,S
4、elenium2環(huán)境搭建-Java,安裝JDK1.6,設(shè)置JAVA_HOME的環(huán)境變量 安裝Eclipse(可選) 下載Selenium2的相關(guān)jar包, 如selenium-java-2.46.0.jar, selenium-java-2.46.0-srcs.jar, selenium-server-standalone-2.46.0.jar Firefox中安裝Firebug插件:用于查看對象xpath Firefox中安裝Selenium IDE插件:可用于錄制,Selenium WebDriver - 元素定位,WebDriver提供八種元素定位方法: Driver.findEleme
5、nt(B(“xxx) Driver.findElement(By.id(“xxx) Driver.findElement(By.xpath(“xxx) Driver.findElement(By.tagName(“xxx) Driver.findElement(By.linkText(“xxx) Driver.findElement(By.className(“xxx) Driver.findElement(By.cssSelector(“xxx) Driver.findElement(By.partialLinkText(“xxx),Selenium WebDriver - 元素
6、定位XPath,Xpath語法: / 表示從根節(jié)點(diǎn)開始查找 /表示全文查找 不填表示從當(dāng)前節(jié)點(diǎn)查找 表示attribute,By.xpath(/iframeclass=g-editor-iframe,Selenium WebDriver - API,打開firefox瀏覽器: WebDriver driver = new FirefoxDriver(); 打開IE瀏覽器: WebDriver driver = new InternetExplorerDriver (); 打開HtmlUnit瀏覽器: WebDriverdriver = new HtmlUnitDriver(); 打開chrom
7、e瀏覽器: WebDriverdriver = new ChromeDriver();,Selenium WebDriver - API,最大化瀏覽器: driver.manage().window().maximize(); 關(guān)閉瀏覽器: driver.close(); driver.quit(); 打開Url地址: driver.get();,Selenium WebDriver -頁面元素操作API,輸入框(text field or textarea) WebElement element = driver.findElement(By.id(“xxx); element.sendKe
8、ys(“test”); /在輸入框中輸入內(nèi)容 element.clear(); /將輸入框清空 element.getText(); /獲取輸入框的文本內(nèi)容 按鈕 ( button ) WebElement btn= driver.findElement(By.id(“xxx); btn.click(); /點(diǎn)擊按鈕 btn.isEnabled ();/判斷按鈕是否enable,Selenium WebDriver -頁面元素操作API,單選項(xiàng)(Radio Button) WebElement radio = driver.findElement(By.id(“xxx); radio.clic
9、k(); /選擇某個單選項(xiàng) radio.clear(); /清空某個單選項(xiàng) radio.isSelected();/判斷某個單選項(xiàng)是否已經(jīng)被選擇 多選項(xiàng)(checkbox) WebElement checkbox = driver.findElement(By.id(“xxx); checkbox.click(); checkbox.clear(); checkbox.isSelected(); checkbox.isEnabled();,Selenium WebDriver -頁面元素操作API,彈出對話框(Popup dialogs) Alert alert = driver.switch
10、To().alert(); alert.accept();/確定 alert.dismiss(); /取消 alert.getText();/獲取文本 表單( Form) WebElement approve = driver.findElement(By.id(approve); approve.click(); approve.submit(); /只適合于表單的提交,Selenium WebDriver -頁面元素操作API,調(diào)用Java Script Web driver對JavaScript的調(diào)用是通過JavascriptExecutor來實(shí)現(xiàn),如: JavascriptExecut
11、or js = (JavascriptExecutor) driver; js.executeScript(JS腳本); 超時設(shè)置 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); /識別元素時的超時時間 driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);/頁面加載時的超時時間 driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);/異步腳本的超時時間,使用Selenium可能遇到的問題,測試代碼編寫工作量大 測試Case以Unit Test形式存在,如何管理?如何自動執(zhí)行?如何與Bug管理系統(tǒng)關(guān)聯(lián)? Web的可測試性對測試代碼的影響。,目前公司使用selenium框架,0:8000,FitNesse框架簡介,目前針對于server的接口測試主要使用FitNesse進(jìn)行腳本托管,通過填寫json請求表格的形式對server進(jìn)行請求驗(yàn)證服務(wù)器的正確性和健壯性。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 挖掘機(jī)平整地面施工方案
- 錨固樁施工方案
- 惠州市潤根電器有限公司 AC 電源線及插頭的生產(chǎn)建設(shè)項(xiàng)目環(huán)評報(bào)告表
- 初中半期考答案數(shù)學(xué)試卷
- 仿玉石樓梯扶手施工方案
- 小學(xué)校園內(nèi)管網(wǎng)施工方案
- 房建地下連續(xù)梁施工方案
- 別墅的專項(xiàng)施工方案
- 農(nóng)田排水降水施工方案
- 黃桃高產(chǎn)栽培技術(shù)的高效應(yīng)用及科學(xué)推廣措施分析
- DBJ∕T 15-104-2015 預(yù)拌砂漿混凝土及制品企業(yè)試驗(yàn)室管理規(guī)范
- 裝配式建筑疊合板安裝技術(shù)交底
- 2022年HTD-8M同步帶輪尺寸表
- 皮帶滾筒數(shù)據(jù)標(biāo)準(zhǔn)
- 腳手架操作平臺計(jì)算書
- 內(nèi)科學(xué)第八版循環(huán)系統(tǒng)教學(xué)大綱
- 煤礦供電系統(tǒng)及供電安全講座方案課件
- 綠色建筑及材料分析及案列
- 實(shí)用中西醫(yī)結(jié)合診斷治療學(xué)
- 幕墻工程技術(shù)標(biāo)范本
- 《施工方案封面》
評論
0/150
提交評論