您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
Selenium WebDriver 介紹
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/6/23 11:08:31 ] 推薦標(biāo)簽:Selenium WebDriver 功能測(cè)試工具

  7.Selenium-WebDriver API詳解

  7.1獲取Web頁(yè)面

  我們第一件要做的事是通過(guò)WebDriver取得Web頁(yè)面的控制權(quán),一般情況下使用get方法

  driver.get("http://www.google.com");

  在某些情況下,比如操作系統(tǒng)和瀏覽器的穿插組合,WebDriver有可能不會(huì)等待Web頁(yè)面加載完成,這種情況下WebDriver會(huì)返回錯(cuò)誤或者直接運(yùn)行下一步操作。為了保證程序的健壯性,你需要等待頁(yè)面中某個(gè)元素加載完成后再進(jìn)行下一步操作,請(qǐng)參考Explicit and Implicit Waits。

  7.2定位UI元素

  我們可以通過(guò)WebDriver實(shí)例或者WebElement類來(lái)定位UI元素。我們?yōu)槊糠N編程語(yǔ)言都提供了兩種方法:“Find Element”和“Find Elements”。第一種方法返回的一個(gè)WebElement,找不到則拋出異常。第二個(gè)方法返回一個(gè)WebElement鏈表(List),在找不到任何DOM元素的情況下會(huì)返回空的鏈表。

  Find方法會(huì)使用類似探測(cè)器的類,類名叫做By。下面列舉By的一些常用方法:

  By ID

  當(dāng)我們定位一個(gè)UI 元素,這個(gè)是有效也是好的方法。不過(guò)這個(gè)方法不是的,有的前端開(kāi)發(fā)在設(shè)計(jì)UI元素時(shí)會(huì)遺漏ID或者使用動(dòng)態(tài)ID,這兩種情況下都要避免使用這個(gè)方法。這時(shí)候使用獲取class名稱方法比By ID更合適。

  示例:如何使用該方法定位元素

...
  WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

  By Class Name

  在這種場(chǎng)景下,我們引用DOM元素的屬性。實(shí)際情況是很多元素都有一樣的Class Name,因此找到多個(gè)有相同Class Name的元素,比找到第一個(gè)擁有這個(gè)Class Name的元素來(lái)的更重要。

  示例:如何使用該方法定位元素
 
Cheddar
Gouda
  List cheeses = driver.findElements(By.className("cheese"));

  By Tag Name

  DOM元素Tag的名稱。

  示例:如何使用該方法定位元素

  WebElement frame = driver.findElement(By.tagName("iframe"));

  By Name

  找到與Name屬性相同的Input元素。

  示例:如何使用該方法定位元素

  WebElement cheese = driver.findElement(By.name("cheese"));

  By Link Text

  找到與Text屬性精確匹配的超鏈接。

  示例:如何使用該方法定位元素

  cheese

  WebElement cheese = driver.findElement(By.linkText("cheese"));

  By Partial Link Text

  找到與Text屬性模糊匹配的超鏈接。

  示例:如何使用該方法定位元素

  search for cheese

  WebElement cheese = driver.findElement(By.partialLinkText("cheese"));

  By CSS

  這個(gè)方法名稱意味著它是一個(gè)CSS探測(cè)器。前提是瀏覽器默認(rèn)支持這種方法,建議根據(jù)W3C的標(biāo)準(zhǔn)文檔構(gòu)建CSS選擇器。如果瀏覽器不支持CSS選擇器,可以使用Sizzle。IE6,7和FireFox3.0是使用Sizzle作為CSS查詢引擎。

Selenium WebDriver 介紹(3)
發(fā)表于:2014-04-08來(lái)源:博客園作者:思勉點(diǎn)擊數(shù):1584 標(biāo)簽:
注意不是所有瀏覽器都使用同樣的CSS選擇器表達(dá)式,有些CSS可能只在某一個(gè)版本中生效。 示例:如何使用該方法定位元素 milk cheese WebElement cheese = driver.
  注意不是所有瀏覽器都使用同樣的CSS選擇器表達(dá)式,有些CSS可能只在某一個(gè)版本中生效。

  示例:如何使用該方法定位元素  

milkcheese
  WebElement cheese = driver.findElement(By.cssSelector("#food span.dairy.aged"));

  By XPath

  當(dāng)有需要時(shí),WebDriver還可以使用瀏覽器自帶的XPATH。對(duì)于那些不支持XPATH的瀏覽器,我們提供了WebDriver特有的實(shí)現(xiàn)方式。請(qǐng)確保熟悉XPATH在不同的引擎中的區(qū)別,否則會(huì)導(dǎo)致一些不可預(yù)料的問(wèn)題。

上一頁(yè)12345下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd