1. 程式人生 > >2.7.1 元素定位:selenium消息框處理 (alert、confirm、prompt)

2.7.1 元素定位:selenium消息框處理 (alert、confirm、prompt)

ttext def 總結篇 必須 tro -s 按鈕 默認 答案

來源:http://blog.csdn.net/cui_angel/article/details/7784211
http://www.cnblogs.com/tobecrazy/p/4570494.html selenium 總結篇,常見方法和頁面元素的操作


基礎普及

alert對話框 。細分三種,Alert,prompt,confirm

1. alert() 彈出個提示框 (確定)
警告消息框 alert 方法有一個參數,即希望對用戶顯示的文本字符串。該字符串不是 HTML 格式。該消息框提供了一個“確定”按鈕讓用戶關閉該消息框,並且該消息框是模式對話框,也就是說,用戶必須先關閉該消息框然後才能繼續進行操作。

2. confirm() 彈出個確認框 (確定,取消)
確認消息框 使用確認消息框可向用戶問一個“是-或-否”問題,並且用戶可以選擇單擊“確定”按鈕或者單擊“取消”按鈕。confirm 方法的返回值為 true 或 false。該消息框也是模式對話框:用戶必須在響應該對話框(單擊一個按鈕)將其關閉後,才能進行下一步操作。

3. prompt() 彈出個輸入框(確定,取消)

提示消息框 提供了一個文本字段,用戶可以在此字段輸入一個答案來響應您的提示。該消息框有一個“確定”按鈕和一個“取消”按鈕。如果您提供了一個輔助字符串參數,則提示消息框將在文本字段顯示該輔助字符串作為默認響應。否則,默認文本為 "<undefined>"。

selenium處理:

alert() 提示框

1. driver.switchTo().alert(); 獲取alert

2. alert.accept(); 點確定

3. alert.dismiss(); 點取消

4. alert.getText();獲取alert的內容

1. alert()

	  try{
			Alert alert =driver.switchTo().alert();  //使用driver.switchTo().alert()方法獲取到alert對象
			Assert.assertEquals("彈框實際文本", alert.getText()); //斷言彈框文本是否和預期一致
			alert.accept(); //點擊確定	
			// alert.dismiss();  //點擊取消
		}catch(NoAlertPresentException exception){ //彈框未顯示,則跑出異常
			Assert.fail("嘗試操作的alert框沒有被找到");
			exception.printStackTrace();
		}

2. confirm() ps:同alert一致

	  try{
			Alert alert =driver.switchTo().alert();  
			Assert.assertEquals("彈框實際文本", alert.getText()); 
			alert.accept();
			// alert.dismiss(); 
		}catch(NoAlertPresentException exception){
			Assert.fail("嘗試操作的alert框沒有被找到");
			exception.printStackTrace();
		}

  

3. prompt()

	  try{
			Alert alert =driver.switchTo().alert();  
			Assert.assertEquals("彈框實際文本", alert.getText()); 
			
			alert.sendKeys("promt框中輸入的內容");
			alert.accept();
			// alert.dismiss(); 
		}catch(NoAlertPresentException exception){
			Assert.fail("嘗試操作的alert框沒有被找到");
			exception.printStackTrace();
		}

  

2.7.1 元素定位:selenium消息框處理 (alert、confirm、prompt)