Skip to content

Commit 33a0c76

Browse files
navin772harsha509
andauthored
[java]: add docs for retrieving logs in chrome and edge (#2083)[deploy site]
* add docs for get_logs in java for chrome and edge * update python docs to use new site for `get_log` --------- Co-authored-by: Sri Harsha <[email protected]>
1 parent efbd943 commit 33a0c76

File tree

12 files changed

+66
-22
lines changed

12 files changed

+66
-22
lines changed

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

+25-3
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@
2121
import org.openqa.selenium.chrome.ChromeOptions;
2222
import org.openqa.selenium.chromium.ChromiumDriverLogLevel;
2323
import org.openqa.selenium.chromium.ChromiumNetworkConditions;
24-
import org.openqa.selenium.logging.LogEntries;
25-
import org.openqa.selenium.logging.LogType;
26-
import org.openqa.selenium.logging.LoggingPreferences;
24+
import org.openqa.selenium.logging.*;
2725
import org.openqa.selenium.remote.service.DriverFinder;
2826

27+
2928
public class ChromeTest extends BaseTest {
3029
@AfterEach
3130
public void clearProperties() {
3231
System.clearProperty(ChromeDriverService.CHROME_DRIVER_LOG_PROPERTY);
3332
System.clearProperty(ChromeDriverService.CHROME_DRIVER_LOG_LEVEL_PROPERTY);
3433
}
34+
3535
@Test
3636
public void basicOptions() {
3737
ChromeOptions options = new ChromeOptions();
@@ -236,4 +236,26 @@ public void castFeatures() {
236236

237237
driver.quit();
238238
}
239+
240+
@Test
241+
public void getBrowserLogs() {
242+
ChromeDriver driver = new ChromeDriver();
243+
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");
244+
WebElement consoleLogButton = driver.findElement(By.id("consoleError"));
245+
consoleLogButton.click();
246+
247+
LogEntries logs = driver.manage().logs().get(LogType.BROWSER);
248+
249+
// Assert that at least one log contains the expected message
250+
boolean logFound = false;
251+
for (LogEntry log : logs) {
252+
if (log.getMessage().contains("I am console error")) {
253+
logFound = true;
254+
break;
255+
}
256+
}
257+
258+
Assertions.assertTrue(logFound, "No matching log message found.");
259+
driver.quit();
260+
}
239261
}

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

+25-3
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
import org.openqa.selenium.edge.EdgeDriver;
2222
import org.openqa.selenium.edge.EdgeDriverService;
2323
import org.openqa.selenium.edge.EdgeOptions;
24-
import org.openqa.selenium.logging.LogEntries;
25-
import org.openqa.selenium.logging.LogType;
26-
import org.openqa.selenium.logging.LoggingPreferences;
24+
import org.openqa.selenium.logging.*;
2725
import org.openqa.selenium.remote.service.DriverFinder;
2826

27+
28+
2929
public class EdgeTest extends BaseTest {
3030
@AfterEach
3131
public void clearProperties() {
@@ -231,4 +231,26 @@ public void castFeatures() {
231231

232232
driver.quit();
233233
}
234+
235+
@Test
236+
public void getBrowserLogs() {
237+
EdgeDriver driver = new EdgeDriver();
238+
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");
239+
WebElement consoleLogButton = driver.findElement(By.id("consoleError"));
240+
consoleLogButton.click();
241+
242+
LogEntries logs = driver.manage().logs().get(LogType.BROWSER);
243+
244+
// Assert that at least one log contains the expected message
245+
boolean logFound = false;
246+
for (LogEntry log : logs) {
247+
if (log.getMessage().contains("I am console error")) {
248+
logFound = true;
249+
break;
250+
}
251+
}
252+
253+
Assertions.assertTrue(logFound, "No matching log message found.");
254+
driver.quit();
255+
}
234256
}

examples/python/tests/browsers/test_chrome.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import subprocess
44
import pytest
55
from selenium import webdriver
6-
6+
from selenium.webdriver.common.by import By
77

88
def test_basic_options():
99
options = webdriver.ChromeOptions()
@@ -180,11 +180,11 @@ def test_cast_features():
180180

181181
def test_get_browser_logs():
182182
driver = webdriver.Chrome()
183-
184-
driver.get("https://www.selenium.dev/")
183+
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
184+
driver.find_element(By.ID, "consoleError").click()
185185

186186
logs = driver.get_log("browser")
187187

188188
# Assert that at least one log contains the expected message
189-
assert any("Uncaught TypeError" in log['message'] for log in logs), "No matching log message found."
189+
assert any("I am console error" in log['message'] for log in logs), "No matching log message found."
190190
driver.quit()

examples/python/tests/browsers/test_edge.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import subprocess
44
import pytest
55
from selenium import webdriver
6-
6+
from selenium.webdriver.common.by import By
77

88
def test_basic_options():
99
options = webdriver.EdgeOptions()
@@ -180,11 +180,11 @@ def test_cast_features():
180180

181181
def test_get_browser_logs():
182182
driver = webdriver.Edge()
183-
184-
driver.get("https://www.selenium.dev/")
183+
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
184+
driver.find_element(By.ID, "consoleError").click()
185185

186186
logs = driver.get_log("browser")
187187

188188
# Assert that at least one log contains the expected message
189-
assert any("Uncaught TypeError" in log['message'] for log in logs), "No matching log message found."
189+
assert any("I am console error" in log['message'] for log in logs), "No matching log message found."
190190
driver.quit()

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ You can simulate various network conditions.
419419

420420
{{< tabpane text=true >}}
421421
{{< tab header="Java" >}}
422-
{{< badge-code >}}
422+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L247" >}}
423423
{{< /tab >}}
424424
{{< tab header="Python" >}}
425425
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ Chrome Castデバイスを操作することができ、タブの共有も含ま
413413

414414
{{< tabpane text=true >}}
415415
{{< tab header="Java" >}}
416-
{{< badge-code >}}
416+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L247" >}}
417417
{{< /tab >}}
418418
{{< tab header="Python" >}}
419419
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ please refer to the
422422

423423
{{< tabpane text=true >}}
424424
{{< tab header="Java" >}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L247" >}}
426426
{{< /tab >}}
427427
{{< tab header="Python" >}}
428428
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱
422422

423423
{{< tabpane text=true >}}
424424
{{< tab header="Java" >}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L247" >}}
426426
{{< /tab >}}
427427
{{< tab header="Python" >}}
428428
{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ You can simulate various network conditions.
420420

421421
{{< tabpane text=true >}}
422422
{{< tab header="Java" >}}
423-
{{< badge-code >}}
423+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L242" >}}
424424
{{< /tab >}}
425425
{{< tab header="Python" >}}
426426
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ Edge を使用して Chrome Cast デバイスを操作し、タブを共有す
406406

407407
{{< tabpane text=true >}}
408408
{{< tab header="Java" >}}
409-
{{< badge-code >}}
409+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L242" >}}
410410
{{< /tab >}}
411411
{{< tab header="Python" >}}
412412
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ You can simulate various network conditions.
422422

423423
{{< tabpane text=true >}}
424424
{{< tab header="Java" >}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L242" >}}
426426
{{< /tab >}}
427427
{{< tab header="Python" >}}
428428
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L186" >}}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ You can simulate various network conditions.
422422

423423
{{< tabpane text=true >}}
424424
{{< tab header="Java" >}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L242" >}}
426426
{{< /tab >}}
427427
{{< tab header="Python" >}}
428428
{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L186" >}}

0 commit comments

Comments
 (0)