Selenium+java - 彈出框處理

1、彈出框分類:

彈出框分爲兩種,一種基於原生JavaScript寫出來的彈窗,另外一種是自定義封裝好的樣式的彈出框,本文重點介紹原生JavaScript寫出來的彈窗,另外一種彈窗用click()基本就能搞定。javascript

原生JavaScript寫出來的彈窗又分爲三種:html

alertjava

confirm測試

promptspa

2、彈窗處理經常使用方法:

  • alert/confirm/prompt彈出框操做主要方法有:
  • driver.switchTo().alert():切換到alert彈出框上
  • getText():獲取文本值
  • accept() :點擊"確認"
  • dismiss() :點擊"取消"或者關閉對話框
  • send_keys() :輸入文本值 --僅限於prompt,在alert和confirm上沒有輸入框

3、被頁面html源代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>彈窗練習案例</title>
    <script language="javascript">
        function checkup() { if (window.confirm("肯定要刪除嗎?")) { return true; } else { return false; } } function welcome() { var myname = prompt("請輸入你的姓名:"); if (myname != null) { alert("你好," + myname); } else { alert("你好 my friend."); } } </script>
</head>
<body>
<input id="alert" value="alert" type="button" onclick="alert('歡迎關注個人公號:軟件測試君!請按確認繼續!');"/><br>
<button id="dialog" onclick="checkup()">刪除按鈕</button><br>
<button id="welcome" onclick="welcome()">點擊加入咱們</button><br>
</body>
</html>

4、alert彈窗處理

具體實例代碼以下:code

@Test public void testAlert() { driver.get("file:///C:/Users/Administrator/Desktop/popup.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.findElement(By.id("alert")).click(); //獲取alert對話框
        Alert alert = driver.switchTo().alert(); //獲取對話框文本
        String text = alert.getText(); //打印警告對話框內容
 System.out.println(text); //alert對話框屬於警告對話框,咱們這裏只能接受彈窗
 alert.accept(); }

5、confirm彈窗處理

具體實例代碼以下:htm

@Test public void testConfirm() { driver.get("file:///C:/Users/Administrator/Desktop/popup.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.findElement(By.id("dialog")).click(); //獲取confirm對話框
        Alert alert = driver.switchTo().alert(); //獲取對話框的內容
        String text = alert.getText(); //打印對話框的內容
 System.out.println(text); //點擊「確認」按鈕
 alert.accept(); ////# 點擊「取消」按鈕 //alert.dismiss();
    }

6、prompt彈窗處理

具體實例代碼以下:blog

@Test public void testPrompt() { driver.get("file:///C:/Users/Administrator/Desktop/popup.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.findElement(By.id("welcome")).click(); //獲取prompt對話框
        Alert alert = driver.switchTo().alert(); //獲取對話框的內容
        String text = alert.getText(); //打印對話框的內容
 System.out.println(text); //在彈框內輸入信息
        alert.sendKeys("軟件測試君"); //點擊「確認」按鈕,提交輸入的內容
 alert.accept(); }

6、運行結果

 

原文出處:https://www.cnblogs.com/longronglang/p/11283232.htmlip

相關文章
相關標籤/搜索