Skip to content

Commit 8ed07e3

Browse files
Moved alert/prompts and confirmations examples of Java tab to example sections and updated the … (SeleniumHQ#1900)
[deploy site]
1 parent bd7a172 commit 8ed07e3

File tree

5 files changed

+185
-23
lines changed

5 files changed

+185
-23
lines changed

examples/java/src/test/java/dev/selenium/interactions/AlertsTest.java

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
package dev.selenium.interactions;
1919

2020
import dev.selenium.BaseTest;
21+
import org.junit.jupiter.api.AfterEach;
22+
import org.junit.jupiter.api.Assertions;
23+
import org.junit.jupiter.api.BeforeEach;
2124
import org.junit.jupiter.api.Test;
2225
import org.openqa.selenium.Alert;
26+
import org.openqa.selenium.By;
2327
import org.openqa.selenium.JavascriptExecutor;
2428
import org.openqa.selenium.WebDriver;
29+
import org.openqa.selenium.WebElement;
2530
import org.openqa.selenium.chrome.ChromeDriver;
2631
import org.openqa.selenium.chrome.ChromeOptions;
2732
import org.openqa.selenium.support.ui.ExpectedConditions;
@@ -33,6 +38,163 @@
3338

3439
public class AlertsTest extends BaseTest {
3540

41+
@BeforeEach
42+
public void createSession() {
43+
driver = new ChromeDriver();
44+
wait = new WebDriverWait(driver, Duration.ofSeconds(10));
45+
}
46+
47+
@AfterEach
48+
public void endSession() {
49+
driver.quit();
50+
}
51+
52+
@Test
53+
public void alertInformationTest() {
54+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
55+
56+
driver.findElement(By.id("alert")).click();
57+
58+
wait.until(ExpectedConditions.alertIsPresent());
59+
Alert alert = driver.switchTo().alert();
60+
Assertions.assertEquals("cheese", alert.getText());
61+
alert.accept();
62+
63+
}
64+
65+
@Test
66+
public void alertEmptyInformationTest() {
67+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
68+
driver.findElement(By.id("empty-alert")).click();
69+
70+
71+
wait.until(ExpectedConditions.alertIsPresent());
72+
73+
Alert alert = driver.switchTo().alert();
74+
Assertions.assertEquals("", alert.getText());
75+
alert.accept();
76+
77+
}
78+
79+
@Test
80+
public void promptDisplayAndInputTest() {
81+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
82+
driver.findElement(By.id("prompt")).click();
83+
84+
//Wait for the alert to be displayed and store it in a variable
85+
wait.until(ExpectedConditions.alertIsPresent());
86+
87+
Alert alert = driver.switchTo().alert();
88+
Assertions.assertEquals("Enter something", alert.getText());
89+
90+
alert.sendKeys("Selenium");
91+
alert.accept();
92+
93+
}
94+
95+
@Test
96+
public void promptDefaultInputTest() {
97+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
98+
99+
driver.findElement(By.id("prompt-with-default")).click();
100+
101+
wait.until(ExpectedConditions.alertIsPresent());
102+
Alert alert = driver.switchTo().alert();
103+
Assertions.assertEquals("Enter something", alert.getText());
104+
alert.accept();
105+
}
106+
107+
@Test
108+
public void multiplePromptInputsTest() {
109+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
110+
driver.findElement(By.id("double-prompt")).click();
111+
112+
wait.until(ExpectedConditions.alertIsPresent());
113+
114+
Alert alert1 = driver.switchTo().alert();
115+
Assertions.assertEquals("First", alert1.getText());
116+
117+
alert1.sendKeys("first");
118+
alert1.accept();
119+
120+
121+
Alert alert2 = driver.switchTo().alert();
122+
Assertions.assertEquals("Second", alert2.getText());
123+
alert2.sendKeys("second");
124+
alert2.accept();
125+
126+
}
127+
128+
@Test
129+
public void slowAlertTest() {
130+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
131+
driver.findElement(By.id("slow-alert")).click();
132+
133+
wait.until(ExpectedConditions.alertIsPresent());
134+
135+
Alert alert = driver.switchTo().alert();
136+
Assertions.assertEquals("Slow", alert.getText());
137+
138+
alert.accept();
139+
140+
}
141+
142+
143+
@Test
144+
public void confirmationAlertTest() {
145+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
146+
147+
driver.findElement(By.id("confirm")).click();
148+
149+
wait.until(ExpectedConditions.alertIsPresent());
150+
Alert alert = driver.switchTo().alert();
151+
Assertions.assertEquals("Are you sure?", alert.getText());
152+
153+
alert.accept();
154+
Assertions.assertTrue(driver.getCurrentUrl().endsWith("simpleTest.html"));
155+
156+
}
157+
158+
159+
@Test
160+
public void iframeAlertTest() {
161+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
162+
WebElement iframe = driver.findElement(By.name("iframeWithAlert"));
163+
driver.switchTo().frame(iframe);
164+
165+
driver.findElement(By.id("alertInFrame")).click();
166+
167+
168+
wait.until(ExpectedConditions.alertIsPresent());
169+
170+
Alert alert = driver.switchTo().alert();
171+
Assertions.assertEquals("framed cheese", alert.getText());
172+
173+
alert.accept();
174+
175+
}
176+
177+
@Test
178+
public void nestedIframeAlertTest() {
179+
driver.get("https://www.selenium.dev/selenium/web/alerts.html#");
180+
WebElement iframe1 = driver.findElement(By.name("iframeWithIframe"));
181+
driver.switchTo().frame(iframe1);
182+
183+
WebElement iframe2 = driver.findElement(By.name("iframeWithAlert"));
184+
driver.switchTo().frame(iframe2);
185+
186+
driver.findElement(By.id("alertInFrame")).click();
187+
188+
189+
wait.until(ExpectedConditions.alertIsPresent());
190+
191+
Alert alert = driver.switchTo().alert();
192+
Assertions.assertEquals("framed cheese", alert.getText());
193+
194+
alert.accept();
195+
196+
}
197+
36198
@Test
37199
public void testForAlerts() {
38200

website_and_docs/content/documentation/webdriver/interactions/alerts.en.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ alerts.
2626

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

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

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

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

136136

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

142142
{{< tab header="Python" text=true >}}

website_and_docs/content/documentation/webdriver/interactions/alerts.ja.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ WebDriverは、JavaScriptが提供する3種類のネイティブポップアッ
2121
WebDriverはポップアップからテキストを取得し、これらのアラートを受け入れるか、または閉じることができます。
2222

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

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

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

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

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

135135
{{< tab header="Python" text=true >}}

website_and_docs/content/documentation/webdriver/interactions/alerts.pt-br.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ O WebDriver pode obter o texto do pop-up e aceitar ou dispensar esses
2525
alertas.
2626

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

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

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

122122

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

128128
{{< tab header="Python" text=true >}}

website_and_docs/content/documentation/webdriver/interactions/alerts.zh-cn.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ WebDriver提供了一个API, 用于处理JavaScript提供的三种类型的原
1818
WebDriver可以从弹窗获取文本并接受或关闭这些警告.
1919

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

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

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

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

124124

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

130130
{{< tab header="Python" text=true >}}

0 commit comments

Comments
 (0)