Skip to content

Commit 7164fac

Browse files
authored
Merge pull request #746 from seleniumbase/chromium-remote-debug-option
Add the "--remote-debug" option to use Chrome's Remote Debugger
2 parents 24b6407 + d2348eb commit 7164fac

16 files changed

+149
-65
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,5 +134,4 @@ downloaded_files
134134
archived_files
135135
assets
136136
temp
137-
temp*
138137
node_modules

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
<link rel="icon" href="https://seleniumbase.io/img/logo3a.png" />
77

88
<p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/">
9-
<img src="https://seleniumbase.io/cdn/img/super_logo_sb.png" alt="SeleniumBase" title="SeleniumBase" width="300" />
10-
</a></p>
9+
<img src="https://seleniumbase.io/cdn/img/sb_logo_b.png" alt="SeleniumBase" title="SeleniumBase" width="360" /></a></p>
1110

1211
<!-- View on GitHub -->
1312
<p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/releases">
@@ -411,6 +410,7 @@ SeleniumBase provides additional ``pytest`` command-line options for tests:
411410
--enable-ws # (Enable Web Security on Chromium-based browsers.)
412411
--enable-sync # (Enable "Chrome Sync".)
413412
--use-auto-ext # (Use Chrome's automation extension.)
413+
--remote-debug # (Enable Chrome's Remote Debugger on http://localhost:9222)
414414
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
415415
--incognito # (Enable Chrome's Incognito mode.)
416416
--guest # (Enable Chrome's Guest mode.)

examples/ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://seleniumbase.io/cdn/img/sb_logo_b.png" title="SeleniumBase" width="300" />
1+
<img src="https://seleniumbase.io/cdn/img/super_logo_sb.png" title="SeleniumBase" width="300" />
22

33
<h2><img src="https://seleniumbase.io/img/logo3a.png" title="SeleniumBase" width="32" /> Running Example Tests:</h2>
44

examples/raw_parameter_script.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
sb.demo_sleep = 1
7272
sb.message_duration = 2
7373
sb.block_images = False
74+
sb.remote_debug = False
7475
sb.settings_file = None
7576
sb.user_data_dir = None
7677
sb.proxy_string = None

examples/test_parse_soup.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import re
2+
from seleniumbase import BaseCase
3+
4+
5+
class MyTestClass(BaseCase):
6+
7+
def click_menu_item(self, text):
8+
# Use BeautifulSoup to parse the selector ID from element text.
9+
# Then click on the element with the ID.
10+
# (This is useful when the selector ID is auto-generated.)
11+
pattern = re.compile(text)
12+
soup = self.get_beautiful_soup()
13+
the_id = soup.find(text=pattern).parent.parent.attrs["id"]
14+
self.click("#%s" % the_id)
15+
16+
def test_beautiful_soup_and_tinymce(self):
17+
self.open("https://seleniumbase.io/tinymce/")
18+
self.wait_for_element("div.mce-container-body")
19+
self.click_menu_item("File")
20+
self.click_menu_item("New document")
21+
self.click_menu_item("Paragraph")
22+
self.click_menu_item("Heading 2")
23+
self.switch_to_frame("iframe")
24+
self.add_text("#tinymce", "Automate anything with SeleniumBase!\n")
25+
self.switch_to_default_content()
26+
self.click('button i.mce-i-image')
27+
self.type('input[aria-label="Width"].mce-textbox', "300")
28+
image_url = "https://seleniumbase.io/img/sb_logo_10.png"
29+
self.type("input.mce-textbox", image_url + "\n")
30+
self.switch_to_frame("iframe")
31+
self.click("h2")
32+
self.switch_to_default_content()
33+
self.post_message("Automate anything with SeleniumBase!")
34+
self.click_menu_item("File")
35+
self.click_menu_item("Preview")
36+
self.switch_to_frame('iframe[sandbox="allow-scripts"]')
37+
self.post_message("Learn SeleniumBase Today!")

examples/test_tinymce.py

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,27 @@
1-
import re
21
from seleniumbase import BaseCase
32

43

54
class MyTestClass(BaseCase):
65

7-
def click_menu_item(self, text):
8-
self.sleep(0.2)
9-
soup = self.get_beautiful_soup(self.get_page_source())
10-
pattern = re.compile('%s' % text)
11-
the_id = soup.find(text=pattern).parent.parent.attrs["id"]
12-
self.click("#%s" % the_id)
13-
14-
def test_base(self):
15-
self.open("https://seleniumbase.io/other/tinymce")
6+
def test_tinymce(self):
7+
self.open("https://seleniumbase.io/tinymce/")
168
self.wait_for_element("div.mce-container-body")
17-
self.click_menu_item("File")
18-
self.click_menu_item("New document")
19-
self.click_menu_item("Paragraph")
20-
self.click_menu_item("Heading 2")
21-
self.switch_to_frame("iframe#mce_1_ifr")
22-
self.send_keys("#tinymce", "Automate anything with SeleniumBase!\n")
9+
self.click('span:contains("File")')
10+
self.click('span:contains("New document")')
11+
self.click('span:contains("Paragraph")')
12+
self.click('span:contains("Heading 2")')
13+
self.switch_to_frame("iframe")
14+
self.add_text("#tinymce", "Automate anything with SeleniumBase!\n")
2315
self.switch_to_default_content()
2416
self.click('button i.mce-i-image')
2517
self.type('input[aria-label="Width"].mce-textbox', "300")
2618
image_url = "https://seleniumbase.io/img/sb_logo_10.png"
2719
self.type("input.mce-textbox", image_url + "\n")
28-
self.switch_to_frame("iframe#mce_1_ifr")
20+
self.switch_to_frame("iframe")
2921
self.click("h2")
3022
self.switch_to_default_content()
3123
self.post_message("Automate anything with SeleniumBase!")
32-
self.click_menu_item("File")
33-
self.click_menu_item("Preview")
24+
self.click('span:contains("File")')
25+
self.click('span:contains("Preview")')
3426
self.switch_to_frame('iframe[sandbox="allow-scripts"]')
3527
self.post_message("Learn SeleniumBase Today!")

help_docs/ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<h3>Demo Pages / Web Examples</h3>
7070

7171
<div><a href="https://seleniumbase.io/demo_page"><b>Demo Page / Demo Site</b></a></div>
72-
<div><a href="https://seleniumbase.io/other/tinymce"><b>TinyMCE Demo Page</b></a></div>
72+
<div><a href="https://seleniumbase.io/tinymce/"><b>TinyMCE Demo Page</b></a></div>
7373
<div><a href="https://seleniumbase.io/devices/"><b>Virtual Device Farm</b></a></div>
7474
<div><a href="https://seleniumbase.io/error_page/"><b>Error Page for Tests</b></a></div>
7575
<div><a href="https://seleniumbase.io/other/presenter.html"><b>Presenter Demo</b></a></div>

help_docs/customizing_test_runs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ SeleniumBase provides additional ``pytest`` command-line options for tests:
128128
--enable-ws # (Enable Web Security on Chromium-based browsers.)
129129
--enable-sync # (Enable "Chrome Sync".)
130130
--use-auto-ext # (Use Chrome's automation extension.)
131+
--remote-debug # (Enable Chrome's Remote Debugger on http://localhost:9222)
131132
--swiftshader # (Use Chrome's "--use-gl=swiftshader" feature.)
132133
--incognito # (Enable Chrome's Incognito mode.)
133134
--guest # (Enable Chrome's Guest mode.)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
pip>=20.3
1+
pip>=20.3.1
22
packaging>=20.7
33
setuptools>=44.1.1;python_version<"3.5"
44
setuptools>=50.3.2;python_version>="3.5"

seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "1.50.16"
2+
__version__ = "1.50.17"

0 commit comments

Comments
 (0)