Skip to content

Commit 5b50534

Browse files
navin772harsha509
andauthored
[java]: add docs and example for setNetworkConditions (#2071)[deploy site]
* add example for java setNetworkConditions in chrome and edge * java docs for setNetworkConditions * delete network conditions after assertions --------- Co-authored-by: Sri Harsha <[email protected]>
1 parent 6c18cac commit 5b50534

File tree

10 files changed

+63
-10
lines changed

10 files changed

+63
-10
lines changed

examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
import org.openqa.selenium.chrome.ChromeDriverService;
2020
import org.openqa.selenium.chrome.ChromeOptions;
2121
import org.openqa.selenium.chromium.ChromiumDriverLogLevel;
22+
import org.openqa.selenium.chromium.ChromiumNetworkConditions;
2223
import org.openqa.selenium.logging.LogEntries;
2324
import org.openqa.selenium.logging.LogType;
2425
import org.openqa.selenium.logging.LoggingPreferences;
2526
import org.openqa.selenium.remote.service.DriverFinder;
2627

27-
2828
public class ChromeTest extends BaseTest {
2929
@AfterEach
3030
public void clearProperties() {
@@ -196,4 +196,30 @@ public void setPermission() {
196196
Assertions.assertEquals("denied", permissionState);
197197
driver.quit();
198198
}
199+
200+
@Test
201+
public void setNetworkConditions() {
202+
driver = new ChromeDriver();
203+
204+
ChromiumNetworkConditions networkConditions = new ChromiumNetworkConditions();
205+
networkConditions.setOffline(false);
206+
networkConditions.setLatency(java.time.Duration.ofMillis(20)); // 20 ms of latency
207+
networkConditions.setDownloadThroughput(2000 * 1024 / 8); // 2000 kbps
208+
networkConditions.setUploadThroughput(2000 * 1024 / 8); // 2000 kbps
209+
210+
((ChromeDriver) driver).setNetworkConditions(networkConditions);
211+
212+
driver.get("https://www.selenium.dev");
213+
214+
// Assert the network conditions are set as expected
215+
ChromiumNetworkConditions actualConditions = ((ChromeDriver) driver).getNetworkConditions();
216+
Assertions.assertAll(
217+
() -> Assertions.assertEquals(networkConditions.getOffline(), actualConditions.getOffline()),
218+
() -> Assertions.assertEquals(networkConditions.getLatency(), actualConditions.getLatency()),
219+
() -> Assertions.assertEquals(networkConditions.getDownloadThroughput(), actualConditions.getDownloadThroughput()),
220+
() -> Assertions.assertEquals(networkConditions.getUploadThroughput(), actualConditions.getUploadThroughput())
221+
);
222+
((ChromeDriver) driver).deleteNetworkConditions();
223+
driver.quit();
224+
}
199225
}

examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
import org.junit.jupiter.api.Test;
1616
import org.openqa.selenium.By;
1717
import org.openqa.selenium.WebElement;
18+
import org.openqa.selenium.chrome.ChromeDriver;
1819
import org.openqa.selenium.chromium.ChromiumDriverLogLevel;
20+
import org.openqa.selenium.chromium.ChromiumNetworkConditions;
1921
import org.openqa.selenium.edge.EdgeDriver;
2022
import org.openqa.selenium.edge.EdgeDriverService;
2123
import org.openqa.selenium.edge.EdgeOptions;
@@ -24,7 +26,6 @@
2426
import org.openqa.selenium.logging.LoggingPreferences;
2527
import org.openqa.selenium.remote.service.DriverFinder;
2628

27-
2829
public class EdgeTest extends BaseTest {
2930
@AfterEach
3031
public void clearProperties() {
@@ -190,4 +191,30 @@ public void setPermissions() {
190191
Assertions.assertEquals("denied", permissionState);
191192
driver.quit();
192193
}
194+
195+
@Test
196+
public void setNetworkConditions() {
197+
driver = new EdgeDriver();
198+
199+
ChromiumNetworkConditions networkConditions = new ChromiumNetworkConditions();
200+
networkConditions.setOffline(false);
201+
networkConditions.setLatency(java.time.Duration.ofMillis(20)); // 20 ms of latency
202+
networkConditions.setDownloadThroughput(2000 * 1024 / 8); // 2000 kbps
203+
networkConditions.setUploadThroughput(2000 * 1024 / 8); // 2000 kbps
204+
205+
((EdgeDriver) driver).setNetworkConditions(networkConditions);
206+
207+
driver.get("https://www.selenium.dev");
208+
209+
// Assert the network conditions are set as expected
210+
ChromiumNetworkConditions actualConditions = ((EdgeDriver) driver).getNetworkConditions();
211+
Assertions.assertAll(
212+
() -> Assertions.assertEquals(networkConditions.getOffline(), actualConditions.getOffline()),
213+
() -> Assertions.assertEquals(networkConditions.getLatency(), actualConditions.getLatency()),
214+
() -> Assertions.assertEquals(networkConditions.getDownloadThroughput(), actualConditions.getDownloadThroughput()),
215+
() -> Assertions.assertEquals(networkConditions.getUploadThroughput(), actualConditions.getUploadThroughput())
216+
);
217+
((EdgeDriver) driver).deleteNetworkConditions();
218+
driver.quit();
219+
}
193220
}

website_and_docs/content/documentation/webdriver/browsers/chrome.en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ You can simulate various network conditions.
396396

397397
{{< tabpane text=true >}}
398398
{{< tab header="Java" >}}
399-
{{< badge-code >}}
399+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}}
400400
{{< /tab >}}
401401
{{< tab header="Python" >}}
402402
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ Chrome Castデバイスを操作することができ、タブの共有も含ま
390390

391391
{{< tabpane text=true >}}
392392
{{< tab header="Java" >}}
393-
{{< badge-code >}}
393+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}}
394394
{{< /tab >}}
395395
{{< tab header="Python" >}}
396396
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ please refer to the
399399

400400
{{< tabpane text=true >}}
401401
{{< tab header="Java" >}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}}
403403
{{< /tab >}}
404404
{{< tab header="Python" >}}
405405
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱
399399

400400
{{< tabpane text=true >}}
401401
{{< tab header="Java" >}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}}
403403
{{< /tab >}}
404404
{{< tab header="Python" >}}
405405
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/edge.en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ You can simulate various network conditions.
397397

398398
{{< tabpane text=true >}}
399399
{{< tab header="Java" >}}
400-
{{< badge-code >}}
400+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}}
401401
{{< /tab >}}
402402
{{< tab header="Python" >}}
403403
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/edge.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ Edge を使用して Chrome Cast デバイスを操作し、タブを共有す
383383

384384
{{< tabpane text=true >}}
385385
{{< tab header="Java" >}}
386-
{{< badge-code >}}
386+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}}
387387
{{< /tab >}}
388388
{{< tab header="Python" >}}
389389
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/edge.pt-br.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ You can simulate various network conditions.
399399

400400
{{< tabpane text=true >}}
401401
{{< tab header="Java" >}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}}
403403
{{< /tab >}}
404404
{{< tab header="Python" >}}
405405
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}}

website_and_docs/content/documentation/webdriver/browsers/edge.zh-cn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ You can simulate various network conditions.
399399

400400
{{< tabpane text=true >}}
401401
{{< tab header="Java" >}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}}
403403
{{< /tab >}}
404404
{{< tab header="Python" >}}
405405
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}}

0 commit comments

Comments
 (0)