亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium WebDriver高級用法
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2015/2/11 15:18:45 ] 推薦標(biāo)簽:Selenium 功能測試工具 單元測試

  掌握selenium初級用法后,來繼續(xù)深入學(xué)習(xí)。
  選擇合適的WebDrvier
  WebDriver是一個接口,它有幾種實現(xiàn),分別是HtmlUnitDrvier、FirefoxDriver、InternetExplorerDriver、ChromeDriver、OperaDriver,除了 InternetExplorerDriver只能在Windows平臺運行,其他WebDriver均能跨平臺。
  如果追求運行速度,HtmlUnitDriver是,但是它沒有運行界面,不能實時看到運行效果。如果想看到運行效果,可以使用FirefoxDrvier,它會真正打開瀏覽器,在屏幕上運行,因此我們可以監(jiān)測頁面元素的位置、CSS的值等,但是代價是速度慢。
  這里為了簡單,使用 HtmlUnitDriver.
  <code>WebDriver  driver = new HtmlUnitDriver();</code>
  導(dǎo)航
  有了WebDriver實例,第一件事情是打開頁面。一般的做法是調(diào)用get方法:
  <code>driver.get("http://www.yeetrack.com");</code>
  WebDriver會一直等待,直到頁面加載完畢(也是”onload”方法釋放)。
  和頁面進(jìn)行交互
  僅僅打開頁面還不夠,我們需要的是在頁面上進(jìn)行操作,進(jìn)一步講是要操作頁面中的html元素,如:
  <code><input type="text" name="passwd" id="passwd-id" /></code>
  要操作頁面元素,首先要定位元素,可以通過多種方法定位,如下:
  <code>WebElement element;
  element = driver.findElement(By.id("passwd-id"));
  element = driver.findElement(By.name("passwd"));
  element = driver.findElement(By.xpath("//input[@id='passwd-id']"));</code>
  定位元素時,有兩點要注意。通過text的值來定位一個Link時,text必須精確匹配;通過xpath來定位元素時,如果匹配到多條,只會返回第一條結(jié)果,如果沒有匹配到,會拋NoSuchElementException異常。
  WebDriver擁有”Object-baseed” API,我們可以使用WebElement來表示所有的頁面元素。WebElement類有很多操作元素的方法,但是有些方法可能對當(dāng)前元素?zé)o效,不用擔(dān) 心,WebDriver會盡力幫我們處理。如,對一個”meta”標(biāo)簽元素,我們調(diào)用了WebElement的”SetSelected()”方 法,WebDriver會拋出異常。
  我們定位到一個Element,接下來,我們可能要進(jìn)行一些操作,如想鍵入一些字符:
  <code>element.sendKeys("sone text");</code>
  當(dāng)然,我們也可以通過”Keys”這個類,來模擬鍵盤輸入:
  <code>element.sendKeys(" and some", Keys.ARROW_DOWN);</code>
  記住,我們向這些元素輸入的字符串,它們不會自動清空,也是說調(diào)用”sendKeys()”方法,是向元素中追加字符串。如果要清空一個input標(biāo)簽或者textarea:
  <code>element.clear();</code>
  填寫表單
  已經(jīng)知道了如何鍵入字符串,那么其他元素呢?如checkboxes,如何選中;”OPTION”標(biāo)簽,如何設(shè)置”setSelected()”。下面是處理Select標(biāo)簽的例子:
<code>WebElement select = driver.findElement(By.xpath("//select"));
List<WebElement> allOptions = select.findElements(By.tagName("option"));
for(WebElement option : allOptions)
{
System.out.println(String.format("Value is " %s, option.getAttribute("value")));
option.click();
}</code>
  上面的代碼,首先定位一個Select元素,然后獲取它下面的所有option,并且打印出來,執(zhí)行一個click操作。明顯,如果想選中某個選 中,這種方法不是佳選擇。其實WebDrvier定義了Select類,它提供一些更快捷的方式, 如”selectByIndex()”、”selectByValue()”。
  表單填寫完畢,然后是提交,我們可以通過點擊提交按鈕,進(jìn)行提交。
  <code>driver.findElement(By.id("submit")).click();</code>
  或者,WebElement提供”submit()”這個方法,如果當(dāng)前元素處在form表單中,調(diào)用該元素的submit方法,WebDriver會自動提交這個表單;如果不處于form表單中,會拋出”NoSuchElementException”異常。
  <code>element.submit();</code>

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 日韩美女一级毛片 | 最近中文字幕2019国语7 | 亚洲国产精品+制服丝袜 | 国内精品福利在线视频 | 欧美成人免费全网站大片 | 精品国产乱码一区二区三区 | 国产成人免费a在线资源 | 中文字幕第7页 | 青青青久热国产精品视频 | 久久看免费视频 | 一级女性全黄生活片免费 | 亚洲综合成人在线 | 在线观看日本亚洲一区 | 写真片 理论 在线播放 | 国产日韩一区二区三区在线播放 | 性a爱片免费视频性 | 影音先锋欧美资源 | 日本免费一区二区三区中文 | 香蕉午夜视频 | 毛片爱爱| 一级片免费在线播放 | 日本免费v片一二三区 | 欧美在线观看一区 | 性欧美videofree高 | 国产精品成人观看视频网站 | 国产综合视频在线 | 狠狠燥| 国产日韩欧美另类 | 簧片免费在线观看 | 欧美视频第一页 | 天天拍天天干 | 91aaa免费免费国产在线观看 | 日韩精品专区 | 欧美一区不卡二区不卡三区 | 乳色吐息在线观看免费 | 香蕉吧 | 好吊免费视频 | 日韩一区二区三区在线免费观看 | 操你啦在线播放 | 超清乱人伦中文视频在线 | 五月婷婷激情综合 |