Skip to content

Commit 96ed089

Browse files
authored
Merge pull request #1250 from seleniumbase/several-small-updates
Several small updates
2 parents 186456c + 86c2f31 commit 96ed089

File tree

16 files changed

+175
-95
lines changed

16 files changed

+175
-95
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ geckodriver
7272
msedgedriver
7373
operadriver
7474
MicrosoftWebDriver.exe
75+
headless_ie_selenium.exe
7576
IEDriverServer.exe
7677
chromedriver.exe
7778
geckodriver.exe

examples/test_login.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ def test_swag_labs_login(self):
1313
""" This test checks standard login for the Swag Labs store. """
1414
self.login_to_swag_labs()
1515
self.assert_element("#inventory_container")
16-
self.assert_element('div:contains("Sauce Labs Backpack")')
16+
self.assert_element('.inventory_item:contains("Sauce Labs Backpack")')

examples/test_swag_labs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def login_to_swag_labs(self, username="standard_user"):
1111
self.type("#password", "secret_sauce")
1212
self.click('input[type="submit"]')
1313
self.assert_element("#inventory_container")
14-
self.assert_element('div:contains("Sauce Labs Backpack")')
14+
self.assert_element('.inventory_item:contains("Sauce Labs Backpack")')
1515

1616
def test_swag_labs_basic_flow(self):
1717
""" This test checks functional flow of the Swag Labs store. """

examples/xpath_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
class XPathTests(BaseCase):
55
def test_xpath(self):
66
self.open("https://seleniumbase.io/demo_page")
7-
self.assert_element("/html/body/form/table/tbody/tr[1]/td[1]/h1")
7+
self.assert_element('//h1[(text()="Demo Page")]')
88
self.type('//*[@id="myTextInput"]', "XPath Test!")
9-
self.click("/html/body/form/table/tbody/tr[3]/td[4]/button")
9+
self.click('//button[starts-with(text(),"Click Me")]')
1010
self.assert_text("SeleniumBase", '//table/tbody/tr[1]/td[2]/h2')

help_docs/recorder_mode.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77

88
<img src="https://seleniumbase.io/cdn/img/sb_recorder_notification.png" title="SeleniumBase" width="380">
99

10-
(For the latest Recorder improvements, use SeleniumBase version ``2.3.2`` or newer.)
11-
12-
🔴 To make a new recording with Recorder Mode, you can use ``sbase mkrec`` or ``sbase codegen``):
10+
🔴 To make a new recording with Recorder Mode, you can use ``sbase mkrec``, ``sbase codegen``, or ``sbase record``):
1311

1412
```bash
1513
sbase mkrec TEST_NAME.py --url=URL

mkdocs_build/requirements.txt

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,31 @@
1-
regex>=2022.1.18
1+
# mkdocs dependencies for generating the seleniumbase.io website
2+
# Minimum Python version: 3.7
3+
4+
regex>=2022.3.15
25
tqdm>=4.63.0
36
docutils==0.18.1
47
python-dateutil==2.8.2
5-
livereload==2.6.3;python_version>="3.6"
6-
joblib==1.1.0;python_version>="3.6"
7-
Markdown==3.2.2;python_version>="3.6" and python_version<"3.7"
8-
Markdown==3.3.6;python_version>="3.7"
9-
MarkupSafe==2.1.0;python_version>="3.6"
10-
pyparsing==3.0.7;python_version>="3.6"
11-
keyring==23.5.0;python_version>="3.7"
12-
pkginfo==1.8.2;python_version>="3.6"
13-
Jinja2==3.0.3;python_version>="3.6"
14-
click==8.0.4;python_version>="3.6"
15-
zipp==3.7.0;python_version>="3.7"
8+
livereload==2.6.3
9+
joblib==1.1.0
10+
Markdown==3.3.6
11+
MarkupSafe==2.1.1
12+
pyparsing==3.0.7
13+
keyring==23.5.0
14+
pkginfo==1.8.2
15+
Jinja2==3.0.3
16+
click==8.0.4
17+
zipp==3.7.0
1618
readme-renderer==34.0
17-
pymdown-extensions==9.2;python_version>="3.7"
18-
importlib-metadata==4.11.2;python_version>="3.7"
19+
pymdown-extensions==9.2
20+
importlib-metadata==4.11.3
1921
bleach==4.1.0
20-
jsmin==3.0.1;python_version>="3.6"
21-
lunr==0.6.2;python_version>="3.6"
22-
nltk==3.7;python_version>="3.6"
23-
watchdog==2.1.6;python_version>="3.6"
24-
mkdocs==1.2.3;python_version>="3.6"
25-
mkdocs-material==8.2.5;python_version>="3.6"
26-
mkdocs-exclude-search==0.6.4;python_version>="3.6"
22+
jsmin==3.0.1
23+
lunr==0.6.2
24+
nltk==3.7
25+
watchdog==2.1.6
26+
mkdocs==1.2.3
27+
mkdocs-material==8.2.5
28+
mkdocs-exclude-search==0.6.4
2729
mkdocs-simple-hooks==0.1.5
28-
mkdocs-material-extensions==1.0.3;python_version>="3.6"
30+
mkdocs-material-extensions==1.0.3
2931
mkdocs-minify-plugin==0.5.0

requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ py==1.8.1;python_version<"3.5"
6363
py==1.11.0;python_version>="3.5"
6464
pytest==4.6.11;python_version<"3.5"
6565
pytest==6.1.2;python_version>="3.5" and python_version<"3.6"
66-
pytest==7.0.1;python_version>="3.6"
66+
pytest==7.0.1;python_version>="3.6" and python_version<"3.7"
67+
pytest==7.1.0;python_version>="3.7"
6768
pytest-forked==1.3.0;python_version<"3.6"
6869
pytest-forked==1.4.0;python_version>="3.6"
6970
pytest-html==1.22.1;python_version<"3.6"
@@ -86,7 +87,7 @@ beautifulsoup4==4.9.3;python_version<"3.5"
8687
beautifulsoup4==4.10.0;python_version>="3.5"
8788
cryptography==2.9.2;python_version<"3.5"
8889
cryptography==3.2.1;python_version>="3.5" and python_version<"3.6"
89-
cryptography==36.0.1;python_version>="3.6"
90+
cryptography==36.0.2;python_version>="3.6"
9091
pygments==2.5.2;python_version<"3.5"
9192
pygments==2.11.2;python_version>="3.5"
9293
prompt-toolkit==1.0.18;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__ = "2.4.19"
2+
__version__ = "2.4.20"

seleniumbase/console_scripts/ReadMe.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ COMMANDS:
2020
mkdir [DIRECTORY] [OPTIONS]
2121
mkfile [FILE.py] [OPTIONS]
2222
mkrec / codegen [FILE.py] [OPTIONS]
23-
recorder (Open Recorder Desktop App)
23+
recorder (Open Recorder Desktop App.)
24+
record (If args: mkrec. Else: App.)
2425
mkpres [FILE.py] [LANG]
2526
mkchart [FILE.py] [LANG]
2627
print [FILE] [OPTIONS]
@@ -53,13 +54,13 @@ COMMANDS:
5354
sbase install chromedriver
5455
sbase install geckodriver
5556
sbase install edgedriver
56-
sbase install chromedriver 96
57-
sbase install chromedriver 96.0.4664.45
57+
sbase install chromedriver 99
58+
sbase install chromedriver 99.0.4844.51
5859
sbase install chromedriver latest
5960
sbase install chromedriver latest-1 # (Latest minus one)
6061
sbase install chromedriver -p
6162
sbase install chromedriver latest -p
62-
sbase install edgedriver 96.0.1054.62
63+
sbase install edgedriver 99.0.1150.39
6364
```
6465

6566
(Drivers: ``chromedriver``, ``geckodriver``, ``edgedriver``,
@@ -223,7 +224,7 @@ methods, which are "open", "type", "click",
223224
basic boilerplate option, only the "open" method
224225
is included.
225226

226-
<h3>mkrec / codegen</h3>
227+
<h3>mkrec / record / codegen</h3>
227228

228229
* Usage:
229230
``sbase mkrec [FILE.py] [OPTIONS]``
@@ -239,6 +240,7 @@ is included.
239240
``--url=URL`` (Sets the initial start page URL.)
240241
``--edge`` (Use Edge browser instead of Chrome.)
241242
``--gui`` / ``--headed`` (Use headed mode on Linux.)
243+
``--overwrite`` (Overwrite file when it exists.)
242244

243245
* Output:
244246
Creates a new SeleniumBase test using the Recorder.

seleniumbase/console_scripts/run.py

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
sbase mkrec new_test.py --url=wikipedia.org
1616
sbase codegen new_test.py --url=wikipedia.org
1717
sbase recorder
18+
sbase record new_test.py
19+
sbase record
1820
sbase mkpres new_presentation.py
1921
sbase mkchart new_chart.py
2022
sbase convert webdriver_unittest_file.py
@@ -79,7 +81,8 @@ def show_basic_usage():
7981
sc += " mkdir [DIRECTORY] [OPTIONS]\n"
8082
sc += " mkfile [FILE.py] [OPTIONS]\n"
8183
sc += " mkrec / codegen [FILE.py] [OPTIONS]\n"
82-
sc += " recorder (Open Recorder Desktop App)\n"
84+
sc += " recorder (Open Recorder Desktop App.)\n"
85+
sc += " record (If args: mkrec. Else: App.)\n"
8386
sc += " mkpres [FILE.py] [LANG]\n"
8487
sc += " mkchart [FILE.py] [LANG]\n"
8588
sc += " print [FILE] [OPTIONS]\n"
@@ -126,13 +129,13 @@ def show_install_usage():
126129
print(" sbase install chromedriver")
127130
print(" sbase install geckodriver")
128131
print(" sbase install edgedriver")
129-
print(" sbase install chromedriver 96")
130-
print(" sbase install chromedriver 96.0.4664.45")
132+
print(" sbase install chromedriver 99")
133+
print(" sbase install chromedriver 99.0.4844.51")
131134
print(" sbase install chromedriver latest")
132135
print(" sbase install chromedriver latest-1")
133136
print(" sbase install chromedriver -p")
134137
print(" sbase install chromedriver latest -p")
135-
print(" sbase install edgedriver 96.0.1054.62")
138+
print(" sbase install edgedriver 99.0.1150.39")
136139
print(" Output:")
137140
print(" Installs the chosen webdriver to seleniumbase/drivers/")
138141
print(" (chromedriver is required for Chrome automation)")
@@ -216,6 +219,7 @@ def show_mkrec_usage():
216219
print(" --url=URL (Sets the initial start page URL.)")
217220
print(" --edge (Use Edge browser instead of Chrome.)")
218221
print(" --gui / --headed (Use headed mode on Linux.)")
222+
print(" --overwrite (Overwrite file when it exists.)")
219223
print(" Output:")
220224
print(" Creates a new SeleniumBase test using the Recorder.")
221225
print(" If the filename already exists, an error is raised.")
@@ -239,6 +243,7 @@ def show_codegen_usage():
239243
print(" --url=URL (Sets the initial start page URL.)")
240244
print(" --edge (Use Edge browser instead of Chrome.)")
241245
print(" --gui / --headed (Use headed mode on Linux.)")
246+
print(" --overwrite (Overwrite file when it exists.)")
242247
print(" Output:")
243248
print(" Creates a new SeleniumBase test using the Recorder.")
244249
print(" If the filename already exists, an error is raised.")
@@ -774,10 +779,28 @@ def main():
774779
else:
775780
show_basic_usage()
776781
show_install_usage()
777-
elif command == "recorder":
782+
elif (
783+
command == "recorder"
784+
or (command == "record" and len(command_args) == 0)
785+
):
778786
from seleniumbase.console_scripts import sb_recorder
779787

780788
sb_recorder.main()
789+
elif (
790+
command == "mkrec"
791+
or command == "codegen"
792+
or (command == "record" and len(command_args) >= 1)
793+
):
794+
if len(command_args) >= 1:
795+
from seleniumbase.console_scripts import sb_mkrec
796+
797+
sb_mkrec.main()
798+
else:
799+
show_basic_usage()
800+
if command == "codegen":
801+
show_codegen_usage()
802+
else:
803+
show_mkrec_usage()
781804
elif command == "mkdir":
782805
if len(command_args) >= 1:
783806
from seleniumbase.console_scripts import sb_mkdir
@@ -794,22 +817,6 @@ def main():
794817
else:
795818
show_basic_usage()
796819
show_mkfile_usage()
797-
elif command == "mkrec":
798-
if len(command_args) >= 1:
799-
from seleniumbase.console_scripts import sb_mkrec
800-
801-
sb_mkrec.main()
802-
else:
803-
show_basic_usage()
804-
show_mkrec_usage()
805-
elif command == "codegen":
806-
if len(command_args) >= 1:
807-
from seleniumbase.console_scripts import sb_mkrec
808-
809-
sb_mkrec.main()
810-
else:
811-
show_basic_usage()
812-
show_codegen_usage()
813820
elif command == "mkpres":
814821
if len(command_args) >= 1:
815822
from seleniumbase.console_scripts import sb_mkpres

0 commit comments

Comments
 (0)