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

  拖放
  WebDriver允許我們拖放元素,如將某個元素拖到其他地方、或者將某個元素拖到其他元素上。
  <code>WebElement element = driver.findElement(By.name("source"));
  WebElement element = driver.findElement(By.name("target"));
  (new Actions(driver)).dragAndDrop(element, target).perform();</code>
  切換window或者Frame
  對于現(xiàn)在的web應(yīng)用程序來說,很少有單個window的情況,都是嵌入了其他的frame。WebDrvier支持使用”switchTO”方法切換到其他window。
  <code>driver.switchTo().window.("windowName");</code>
  上面的代碼執(zhí)行后,driver會切換到windowName這個window。但是如何獲取windowName呢?來一個例子:
  <code><a href="http://www.yeetrack.com" target="windowName">點擊打開新窗口</a></code>
  還有,我們可以通過”window handle”來切換,并且還可以遍歷當前所有的window
  <code>for(String handle : driver.getWindowHandles())
  {
  driver.switchTo().window(handle);
  }</code>
  切換frame(或者iframe)
  <code>driver.switchTo().frame("frameName");</code>
  switchTo()可以鏈式調(diào)用,或者通過index來切換
  <code>drvier.switchTo().frame("frameName")
  .switchTo().frame(0)
  .switchTo().frame("child");</code>
  上面的語句執(zhí)行后,driver會進入”frameName”這個frame,然后進入到第一個子frame,然后再進入到這個子frame的名稱是”child”的frame中。如果要回到的frame,執(zhí)行下面的代碼:
  <code>driver.switchTo().defaultContent();</code>
  導(dǎo)航:History和Location
  早先,我們使用WebDriver的get方法,打開了”http://www.yeetrack.com”。WebDriver提供一些接口,其中一個如下:
  <code>driver.navigate().to("http://www.yeetrack.com");</code>
  “navigate().to()”和”get()”方法,實現(xiàn)的功能完全一樣,只不過”get()”拼寫起來更簡單。
  “navigete”接口,還可以控制瀏覽器的前進和后退:
  <code>driver.navigate().forward();
  driver.navigate().back();</code>
  請注意,這個功能完全依賴于底層的瀏覽器。如果兩種瀏覽器的行為不一致,那么代碼執(zhí)行的效果也會不一致。
  Cookies
  瀏覽器的安全測試,cookie是不能跨域的,所以你想操作A域名的cookie,首先你要讓切換到A域名上。
<code>//打開域名
driver.get("http://www.yeetrack.com");
//添加Cookie
Cookie cookie = new Cookie("uuid", "abcdedfjeiajfei");
driver.manage().addCookie(cookie);
//遍歷當前域名的cookie
Set(Cookie) allCookies = driver.manage().getCookies();
for(Cookie loadedCookie : allCookies)
{
System.out.println(String.format("%s ---> %s", loadedCookie.getName(), loadedCookie.getValue()));
}</code>

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