Skip to content

Moved alert/prompts and confirmations examples of Java tab to example sections and updated the … #1900

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
162 changes: 162 additions & 0 deletions examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,15 @@
package dev.selenium.interactions;

import dev.selenium.BaseTest;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
Expand All @@ -33,6 +38,163 @@

public class AlertsTest extends BaseTest {

@BeforeEach
public void createSession() {
driver = new ChromeDriver();
wait = new WebDriverWait(driver, Duration.ofSeconds(10));
}

@AfterEach
public void endSession() {
driver.quit();
}

@Test
public void alertInformationTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");

driver.findElement(By.id("alert")).click();

wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
Assertions.assertEquals("cheese", alert.getText());
alert.accept();

}

@Test
public void alertEmptyInformationTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
driver.findElement(By.id("empty-alert")).click();


wait.until(ExpectedConditions.alertIsPresent());

Alert alert = driver.switchTo().alert();
Assertions.assertEquals("", alert.getText());
alert.accept();

}

@Test
public void promptDisplayAndInputTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
driver.findElement(By.id("prompt")).click();

//Wait for the alert to be displayed and store it in a variable
wait.until(ExpectedConditions.alertIsPresent());

Alert alert = driver.switchTo().alert();
Assertions.assertEquals("Enter something", alert.getText());

alert.sendKeys("Selenium");
alert.accept();

}

@Test
public void promptDefaultInputTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");

driver.findElement(By.id("prompt-with-default")).click();

wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
Assertions.assertEquals("Enter something", alert.getText());
alert.accept();
}

@Test
public void multiplePromptInputsTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
driver.findElement(By.id("double-prompt")).click();

wait.until(ExpectedConditions.alertIsPresent());

Alert alert1 = driver.switchTo().alert();
Assertions.assertEquals("First", alert1.getText());

alert1.sendKeys("first");
alert1.accept();


Alert alert2 = driver.switchTo().alert();
Assertions.assertEquals("Second", alert2.getText());
alert2.sendKeys("second");
alert2.accept();

}

@Test
public void slowAlertTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
driver.findElement(By.id("slow-alert")).click();

wait.until(ExpectedConditions.alertIsPresent());

Alert alert = driver.switchTo().alert();
Assertions.assertEquals("Slow", alert.getText());

alert.accept();

}


@Test
public void confirmationAlertTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");

driver.findElement(By.id("confirm")).click();

wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
Assertions.assertEquals("Are you sure?", alert.getText());

alert.accept();
Assertions.assertTrue(driver.getCurrentUrl().endsWith("simpleTest.html"));

}


@Test
public void iframeAlertTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
WebElement iframe = driver.findElement(By.name("iframeWithAlert"));
driver.switchTo().frame(iframe);

driver.findElement(By.id("alertInFrame")).click();


wait.until(ExpectedConditions.alertIsPresent());

Alert alert = driver.switchTo().alert();
Assertions.assertEquals("framed cheese", alert.getText());

alert.accept();

}

@Test
public void nestedIframeAlertTest() {
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
WebElement iframe1 = driver.findElement(By.name("iframeWithIframe"));
driver.switchTo().frame(iframe1);

WebElement iframe2 = driver.findElement(By.name("iframeWithAlert"));
driver.switchTo().frame(iframe2);

driver.findElement(By.id("alertInFrame")).click();


wait.until(ExpectedConditions.alertIsPresent());

Alert alert = driver.switchTo().alert();
Assertions.assertEquals("framed cheese", alert.getText());

alert.accept();

}

@Test
public void testForAlerts() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ alerts.

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L45-L49" >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L36-L41" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -76,8 +76,8 @@ a sample confirm</a>.
This example also shows a different approach to storing an alert:

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L55-L57" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L131-L138" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -134,9 +134,9 @@ text. Pressing the cancel button will not submit any text.
See a sample prompt</a>.


{{< tabpane langEqualsHeader=true >}}
{{< tabpane langEqualsHeader=true text=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L62-L65" >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L79-L84" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ WebDriverは、JavaScriptが提供する3種類のネイティブポップアッ
WebDriverはポップアップからテキストを取得し、これらのアラートを受け入れるか、または閉じることができます。

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L45-L49" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L36-L41" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -71,8 +71,8 @@ alert.accept()
この例は、アラートを保存する別の方法も示しています。

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L55-L57" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L131-L138" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -128,8 +128,8 @@ alert.dismiss()
<a onclick="window.prompt('What is your tool of choice?',navigator.appName)">サンプルプロンプトを参照してください</a>。

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L62-L65" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L79-L84" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ O WebDriver pode obter o texto do pop-up e aceitar ou dispensar esses
alertas.

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L45-L49" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L36-L41" >}}
{{< /tab >}}
{{< tab header="Python" text=true >}}
{{< gh-codeblock path="/examples/python/tests/interactions/test_alerts.py#L12-L18" >}}
Expand Down Expand Up @@ -62,8 +62,8 @@ uma amostra de confirmação </a>.
Este exemplo também mostra uma abordagem diferente para armazenar um alerta:

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L55-L57" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L131-L138" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -121,8 +121,8 @@ Veja um exemplo de prompt </a>.


{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L62-L65" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L79-L84" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ WebDriver提供了一个API, 用于处理JavaScript提供的三种类型的原
WebDriver可以从弹窗获取文本并接受或关闭这些警告.

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L45-L49" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L36-L41" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -67,8 +67,8 @@ alert.accept()
此示例还呈现了警告的另一种实现:

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L55-L57" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L131-L138" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down Expand Up @@ -123,8 +123,8 @@ alert.dismiss()


{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L62-L65" >}}
{{< tab header="Java" text=true >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java#L79-L84" >}}
{{< /tab >}}

{{< tab header="Python" text=true >}}
Expand Down
Loading