您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium2.0功能測(cè)試之Alert/Confirm/Prompt的處理
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/10/18 10:20:55 ] 推薦標(biāo)簽:

  WebDriver中處理原生JS的 alert confirm 以及prompt是很方便的(雖然現(xiàn)在原生JS的實(shí)現(xiàn)方式用的很少了)。具體思路是使用switchTo.alert()方法定位到當(dāng)前的alert/confirm/prompt(這里注意當(dāng)前頁(yè)面只能同時(shí)含有一個(gè)控件,如果多了會(huì)報(bào)錯(cuò)的,所以這需要一一處理了),然后在調(diào)用Alert的方法進(jìn)行操作,Alert提供了以下幾個(gè)方法:
  getText : 返回alert/confirm/prompt中的文字內(nèi)容
  accept : 點(diǎn)擊確認(rèn)按鈕
  dismiss : 點(diǎn)擊取消按鈕如果有取消按鈕的話
  sendKeys : 向prompt中輸入文字    //這個(gè)方法在chromedriver中不起作用,IE的話由于家中無(wú)Windows沒有做demo.
package org.coderinfo.demo;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class AlertDemo {
private static final String URL = "file:///home/moon/Desktop/alert_demo.html";
/**
* @author CoderInfo
*/
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();  //創(chuàng)建一個(gè)firefox的 webdriver
driver.get(URL);
driver.manage().window().maximize();
Thread.sleep(1000);
// 點(diǎn)擊彈出alert
driver.findElement(By.id("alert")).click();
Thread.sleep(3000);
Alert alert = driver.switchTo().alert(); //捕獲alert
alert.accept();  //點(diǎn)擊確認(rèn)按鈕
Thread.sleep(3000);  //等待3s
//點(diǎn)擊彈出confirm
driver.findElement(By.id("confirm")).click();
Thread.sleep(3000);
Alert confirm = driver.switchTo().alert();  //捕獲confirm
String confirmText = confirm.getText(); //獲取confirm中的文字信息
System.out.println(confirmText);
confirm.accept();  //confirm 點(diǎn)擊確認(rèn)按鈕
//      confirm.dismiss();  //confirm點(diǎn)擊取消按鈕
Thread.sleep(3000);
//點(diǎn)擊彈出prompt
driver.findElement(By.id("prompt")).click();
Thread.sleep(3000);
Alert prompt = driver.switchTo().alert();  //捕獲prompt
//      String promptText = prompt.getText(); //獲取prompt中的文字信息
//      System.out.println(promptText);
prompt.sendKeys("可能是由于太懶了");  //向prompt中輸入內(nèi)容
Thread.sleep(3000);
prompt.accept();  //prompt 點(diǎn)擊確認(rèn)按鈕
//      prompt.dismiss();  //prompt點(diǎn)擊取消按鈕
Thread.sleep(3000);
driver.quit(); // close webdriver
}
}

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