Skip to content

Commit 2cb8b09

Browse files
authored
Merge branch 'trunk' into dotnet-api-docs-link
2 parents 4ae2776 + 447949f commit 2cb8b09

File tree

81 files changed

+2974
-773
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2974
-773
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
deploy:
1010
if: contains(toJson(github.event.commits), '[deploy site]') == true
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212
steps:
1313
- name: Checkout repo
1414
uses: actions/checkout@v4

.github/workflows/label-commenter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ permissions:
1111

1212
jobs:
1313
comment:
14-
runs-on: ubuntu-22.04
14+
runs-on: ubuntu-24.04
1515
steps:
1616
- uses: actions/checkout@v4
1717
- name: Label Commenter

.github/workflows/link-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

4343
- name: Link check
4444
continue-on-error: true # <- If set to false, run fails with broken links
45-
uses: untitaker/hyperlink@0.1.32
45+
uses: untitaker/hyperlink@0.1.40
4646
with:
4747
args: website_and_docs/public/ --check-anchors
4848

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
test_build:
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-24.04
1414
steps:
1515
- name: Checkout repo
1616
uses: actions/checkout@v4

.gitpod.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
tasks:
22
- name: Install Hugo, init submodules and start website
33
init: |
4-
curl -LO https://github.com/gohugoio/hugo/releases/download/v0.110.0/hugo_extended_0.110.0_linux-amd64.deb && \
5-
sudo dpkg -i hugo_extended_0.110.0_linux-amd64.deb && \
6-
sudo rm hugo_extended_0.110.0_linux-amd64.deb
4+
curl -LO https://github.com/gohugoio/hugo/releases/download/v0.125.4/hugo_extended_0.125.4_linux-amd64.deb && \
5+
sudo dpkg -i hugo_extended_0.125.4_linux-amd64.deb && \
6+
sudo rm hugo_extended_0.125.4_linux-amd64.deb
77
command: |
88
cd website_and_docs
9-
hugo server --baseUrl $(gp url 1313) --appendPort=false
9+
hugo server --baseURL $(gp url 1313) --appendPort=false
1010
1111
# List the ports you want to expose and what to do when they are served. See https://www.gitpod.io/docs/config-ports/
1212
ports:
Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,74 @@
1+
// Licensed to the Software Freedom Conservancy (SFC) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The SFC licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
18+
19+
using System;
120
using Microsoft.VisualStudio.TestTools.UnitTesting;
21+
using OpenQA.Selenium;
22+
using OpenQA.Selenium.Chrome;
23+
using System.Collections.Generic;
224

325
namespace SeleniumDocs.Interactions
426
{
5-
[TestClass]
6-
public class FramesTest : BaseTest
27+
[TestClass]
28+
public class FramesTest
729
{
30+
[TestMethod]
31+
public void TestFrames()
32+
{
33+
WebDriver driver = new ChromeDriver();
34+
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500);
35+
36+
// Navigate to Url
37+
driver.Url= "https://www.selenium.dev/selenium/web/iframes.html";
38+
//switch To IFrame using Web Element
39+
IWebElement iframe = driver.FindElement(By.Id("iframe1"));
40+
//Switch to the frame
41+
driver.SwitchTo().Frame(iframe);
42+
Assert.AreEqual(true, driver.PageSource.Contains("We Leave From Here"));
43+
//Now we can type text into email field
44+
IWebElement emailE = driver.FindElement(By.Id("email"));
45+
emailE.SendKeys("admin@selenium.dev");
46+
emailE.Clear();
47+
driver.SwitchTo().DefaultContent();
48+
49+
50+
//switch To IFrame using name or id
51+
driver.FindElement(By.Name("iframe1-name"));
52+
//Switch to the frame
53+
driver.SwitchTo().Frame(iframe);
54+
Assert.AreEqual(true, driver.PageSource.Contains("We Leave From Here"));
55+
IWebElement email = driver.FindElement(By.Id("email"));
56+
//Now we can type text into email field
57+
email.SendKeys("admin@selenium.dev");
58+
email.Clear();
59+
driver.SwitchTo().DefaultContent();
60+
61+
62+
//switch To IFrame using index
63+
driver.SwitchTo().Frame(0);
64+
Assert.AreEqual(true, driver.PageSource.Contains("We Leave From Here"));
65+
66+
//leave frame
67+
driver.SwitchTo().DefaultContent();
68+
Assert.AreEqual(true, driver.PageSource.Contains("This page has iframes"));
69+
70+
//quit the browser
71+
driver.Quit();
72+
}
873
}
974
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Licensed to the Software Freedom Conservancy (SFC) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The SFC licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
18+
19+
using System;
20+
using Microsoft.VisualStudio.TestTools.UnitTesting;
21+
using OpenQA.Selenium;
22+
using OpenQA.Selenium.Chrome;
23+
namespace SeleniumDocumentation.SeleniumInteractions
24+
{
25+
[TestClass]
26+
public class InteractionsTest
27+
{
28+
[TestMethod]
29+
public void TestInteractions()
30+
{
31+
WebDriver driver = new ChromeDriver();
32+
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(500);
33+
34+
// Navigate to Url
35+
driver.Url="https://www.selenium.dev/";
36+
//GetTitle
37+
String title = driver.Title;
38+
Assert.AreEqual(title, "Selenium");
39+
40+
//GetCurrentURL
41+
String url = driver.Url;
42+
Assert.AreEqual(url, "https://www.selenium.dev/");
43+
44+
//quitting driver
45+
driver.Quit(); //close all windows
46+
}
47+
}
48+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
using System;
2+
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using OpenQA.Selenium;
4+
using OpenQA.Selenium.Chrome;
5+
6+
namespace SeleniumDocumentation.SeleniumInteractions
7+
{
8+
[TestClass]
9+
public class PrintOptionsTest
10+
{
11+
[TestMethod]
12+
public void TestOrientation()
13+
{
14+
IWebDriver driver = new ChromeDriver();
15+
driver.Navigate().GoToUrl("https://selenium.dev");
16+
PrintOptions printOptions = new PrintOptions();
17+
printOptions.Orientation = PrintOrientation.Landscape;
18+
PrintOrientation currentOrientation = printOptions.Orientation;
19+
}
20+
21+
[TestMethod]
22+
public void TestRange()
23+
{
24+
IWebDriver driver = new ChromeDriver();
25+
driver.Navigate().GoToUrl("https://selenium.dev");
26+
PrintOptions printOptions = new PrintOptions();
27+
printOptions.AddPageRangeToPrint("1-3"); // add range of pages
28+
printOptions.AddPageToPrint(5); // add individual page
29+
}
30+
31+
[TestMethod]
32+
public void TestSize()
33+
{
34+
IWebDriver driver = new ChromeDriver();
35+
driver.Navigate().GoToUrl("https://www.selenium.dev/");
36+
PrintOptions printOptions = new PrintOptions();
37+
PrintOptions.PageSize currentDimensions = printOptions.PageDimensions;
38+
}
39+
40+
[TestMethod]
41+
public void TestBackgrounds()
42+
{
43+
IWebDriver driver = new ChromeDriver();
44+
driver.Navigate().GoToUrl("https://www.selenium.dev/");
45+
PrintOptions printOptions = new PrintOptions();
46+
printOptions.OutputBackgroundImages = true;
47+
bool currentBackgrounds = printOptions.OutputBackgroundImages;
48+
}
49+
50+
[TestMethod]
51+
public void TestMargins()
52+
{
53+
IWebDriver driver = new ChromeDriver();
54+
driver.Navigate().GoToUrl("https://www.selenium.dev/");
55+
PrintOptions printOptions = new PrintOptions();
56+
PrintOptions.Margins currentMargins = printOptions.PageMargins;
57+
}
58+
59+
60+
[TestMethod]
61+
public void TestScale()
62+
{
63+
IWebDriver driver = new ChromeDriver();
64+
driver.Navigate().GoToUrl("https://www.selenium.dev/");
65+
PrintOptions printOptions = new PrintOptions();
66+
printOptions.ScaleFactor = 0.5;
67+
double currentScale = printOptions.ScaleFactor;
68+
}
69+
70+
[TestMethod]
71+
public void TestShrinkToFit()
72+
{
73+
IWebDriver driver = new ChromeDriver();
74+
driver.Navigate().GoToUrl("https://www.selenium.dev/");
75+
PrintOptions printOptions = new PrintOptions();
76+
printOptions.ShrinkToFit = true;
77+
bool currentShrinkToFit = printOptions.ShrinkToFit;
78+
}
79+
}
80+
81+
}

examples/java/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ repositories {
1111

1212
dependencies {
1313
testImplementation 'org.seleniumhq.selenium:selenium-java:4.25.0'
14-
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.0'
14+
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.3'
1515
}
1616

1717
test {

examples/java/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

examples/java/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<dependency>
4141
<groupId>org.junit.jupiter</groupId>
4242
<artifactId>junit-jupiter-engine</artifactId>
43-
<version>5.11.0</version>
43+
<version>5.11.3</version>
4444
<scope>test</scope>
4545
</dependency>
4646
<dependency>
@@ -55,7 +55,7 @@
5555
<plugin>
5656
<groupId>org.apache.maven.plugins</groupId>
5757
<artifactId>maven-surefire-plugin</artifactId>
58-
<version>3.5.0</version>
58+
<version>3.5.1</version>
5959
<configuration>
6060
<properties>
6161
<configurationParameters>
Lines changed: 89 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,92 @@
1-
package dev.selenium.interactions;
1+
// Licensed to the Software Freedom Conservancy (SFC) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The SFC licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
217

3-
import dev.selenium.BaseTest;
18+
import org.junit.jupiter.api.Test;
19+
import org.openqa.selenium.*;
20+
import org.openqa.selenium.chrome.ChromeDriver;
21+
import org.openqa.selenium.chrome.ChromeOptions;
22+
import org.openqa.selenium.support.ui.ExpectedConditions;
23+
import org.openqa.selenium.support.ui.WebDriverWait;
424

5-
public class AlertsTest extends BaseTest {
25+
import java.time.Duration;
626

7-
}
27+
import static org.junit.jupiter.api.Assertions.assertEquals;
28+
29+
public class AlertsTest {
30+
31+
@Test
32+
public void testForAlerts() throws Exception {
33+
34+
ChromeOptions chromeOptions = new ChromeOptions();
35+
chromeOptions.addArguments("disable-search-engine-choice-screen");
36+
WebDriver driver = new ChromeDriver(chromeOptions);
37+
38+
driver.manage().timeouts().implicitlyWait(Duration.ofMillis(500));
39+
driver.manage().window().maximize();
40+
//Navigate to Url
41+
driver.get("https://www.selenium.dev/documentation/webdriver/interactions/alerts/");
42+
43+
//Simple Alert
44+
//Click the link to activate the alert
45+
JavascriptExecutor js = (JavascriptExecutor) driver;
46+
//execute js for alert
47+
js.executeScript("alert('Sample Alert');");
48+
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30));
49+
//Wait for the alert to be displayed and store it in a variable
50+
wait.until(ExpectedConditions.alertIsPresent());
51+
52+
Alert alert = driver.switchTo().alert();
53+
//Store the alert text in a variable and verify it
54+
String text = alert.getText();
55+
assertEquals(text, "Sample Alert");
56+
//Press the OK button
57+
alert.accept();
58+
59+
//Confirm
60+
//execute js for confirm
61+
js.executeScript("confirm('Are you sure?');");
62+
//Wait for the alert to be displayed
63+
wait = new WebDriverWait(driver, Duration.ofSeconds(30));
64+
wait.until(ExpectedConditions.alertIsPresent());
65+
66+
67+
alert = driver.switchTo().alert();
68+
//Store the alert text in a variable and verify it
69+
text = alert.getText();
70+
assertEquals(text, "Are you sure?");
71+
//Press the Cancel button
72+
alert.dismiss();
73+
74+
//Prompt
75+
//execute js for prompt
76+
js.executeScript("prompt('What is your name?');");
77+
//Wait for the alert to be displayed and store it in a variable
78+
wait = new WebDriverWait(driver, Duration.ofSeconds(30));
79+
wait.until(ExpectedConditions.alertIsPresent());
80+
81+
alert = driver.switchTo().alert();
82+
//Store the alert text in a variable and verify it
83+
text = alert.getText();
84+
assertEquals(text, "What is your name?");
85+
//Type your message
86+
alert.sendKeys("Selenium");
87+
//Press the OK button
88+
alert.accept();
89+
//quit the browser
90+
driver.quit();
91+
}
92+
}

0 commit comments

Comments
 (0)