seleniumbase 4.31.3__py3-none-any.whl → 4.31.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- seleniumbase/__init__.py +14 -6
- seleniumbase/__version__.py +1 -1
- seleniumbase/behave/behave_sb.py +4 -12
- seleniumbase/console_scripts/logo_helper.py +0 -8
- seleniumbase/console_scripts/run.py +330 -341
- seleniumbase/console_scripts/sb_behave_gui.py +0 -7
- seleniumbase/console_scripts/sb_caseplans.py +0 -7
- seleniumbase/console_scripts/sb_commander.py +0 -7
- seleniumbase/console_scripts/sb_install.py +47 -47
- seleniumbase/console_scripts/sb_mkchart.py +13 -20
- seleniumbase/console_scripts/sb_mkdir.py +9 -16
- seleniumbase/console_scripts/sb_mkfile.py +27 -34
- seleniumbase/console_scripts/sb_mkpres.py +13 -20
- seleniumbase/console_scripts/sb_mkrec.py +12 -19
- seleniumbase/console_scripts/sb_objectify.py +30 -30
- seleniumbase/console_scripts/sb_print.py +5 -12
- seleniumbase/console_scripts/sb_recorder.py +0 -7
- seleniumbase/fixtures/base_case.py +6 -8
- seleniumbase/plugins/driver_manager.py +17 -1
- seleniumbase/plugins/pytest_plugin.py +1 -8
- seleniumbase/plugins/sb_manager.py +19 -7
- seleniumbase/plugins/selenium_plugin.py +1 -0
- seleniumbase/translate/translator.py +0 -7
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/METADATA +3 -3
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/RECORD +29 -29
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/LICENSE +0 -0
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/WHEEL +0 -0
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.31.3.dist-info → seleniumbase-4.31.5.dist-info}/top_level.txt +0 -0
@@ -38,13 +38,6 @@ def set_colors(use_colors):
|
|
38
38
|
c6 = ""
|
39
39
|
cr = ""
|
40
40
|
if use_colors:
|
41
|
-
if (
|
42
|
-
shared_utils.is_windows()
|
43
|
-
and hasattr(colorama, "just_fix_windows_console")
|
44
|
-
):
|
45
|
-
colorama.just_fix_windows_console()
|
46
|
-
else:
|
47
|
-
colorama.init(autoreset=True)
|
48
41
|
c0 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
49
42
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
|
50
43
|
c2 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
@@ -42,13 +42,6 @@ def set_colors(use_colors):
|
|
42
42
|
c5 = ""
|
43
43
|
cr = ""
|
44
44
|
if use_colors:
|
45
|
-
if (
|
46
|
-
shared_utils.is_windows()
|
47
|
-
and hasattr(colorama, "just_fix_windows_console")
|
48
|
-
):
|
49
|
-
colorama.just_fix_windows_console()
|
50
|
-
else:
|
51
|
-
colorama.init(autoreset=True)
|
52
45
|
c0 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
53
46
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
|
54
47
|
c2 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
@@ -42,13 +42,6 @@ def set_colors(use_colors):
|
|
42
42
|
c5 = ""
|
43
43
|
cr = ""
|
44
44
|
if use_colors:
|
45
|
-
if (
|
46
|
-
shared_utils.is_windows()
|
47
|
-
and hasattr(colorama, "just_fix_windows_console")
|
48
|
-
):
|
49
|
-
colorama.just_fix_windows_console()
|
50
|
-
else:
|
51
|
-
colorama.init(autoreset=True)
|
52
45
|
c0 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
53
46
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
|
54
47
|
c2 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
@@ -2,28 +2,28 @@
|
|
2
2
|
Downloads the specified webdriver to "seleniumbase/drivers/"
|
3
3
|
|
4
4
|
Usage:
|
5
|
-
|
6
|
-
|
5
|
+
sbase get {chromedriver|geckodriver|edgedriver|
|
6
|
+
iedriver|uc_driver} [OPTIONS]
|
7
7
|
Options:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
VERSION Specify the version.
|
9
|
+
Tries to detect the needed version.
|
10
|
+
If using chromedriver or edgedriver,
|
11
|
+
you can use the major version integer.
|
12
|
+
-p OR --path Also copy the driver to /usr/local/bin
|
13
13
|
Examples:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
sbase get chromedriver
|
15
|
+
sbase get geckodriver
|
16
|
+
sbase get edgedriver
|
17
|
+
sbase get chromedriver 114
|
18
|
+
sbase get chromedriver 114.0.5735.90
|
19
|
+
sbase get chromedriver stable
|
20
|
+
sbase get chromedriver beta
|
21
|
+
sbase get chromedriver -p
|
22
22
|
Output:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
Downloads the webdriver to seleniumbase/drivers/
|
24
|
+
(chromedriver is required for Chrome automation)
|
25
|
+
(geckodriver is required for Firefox automation)
|
26
|
+
(edgedriver is required for MS__Edge automation)
|
27
27
|
"""
|
28
28
|
import colorama
|
29
29
|
import logging
|
@@ -57,32 +57,33 @@ DEFAULT_EDGEDRIVER_VERSION = "115.0.1901.183" # (If can't find LATEST_STABLE)
|
|
57
57
|
def invalid_run_command():
|
58
58
|
exp = " ** get / install **\n\n"
|
59
59
|
exp += " Usage:\n"
|
60
|
-
exp += "
|
61
|
-
exp += "
|
62
|
-
exp += "
|
63
|
-
exp += "
|
64
|
-
exp += "
|
65
|
-
exp += "
|
60
|
+
exp += " seleniumbase install [DRIVER_NAME] [OPTIONS]\n"
|
61
|
+
exp += " OR sbase install [DRIVER_NAME] [OPTIONS]\n"
|
62
|
+
exp += " OR seleniumbase get [DRIVER_NAME] [OPTIONS]\n"
|
63
|
+
exp += " OR sbase get [DRIVER_NAME] [OPTIONS]\n"
|
64
|
+
exp += " (Drivers: chromedriver, geckodriver,\n"
|
65
|
+
exp += " edgedriver, iedriver, uc_driver)\n"
|
66
66
|
exp += " Options:\n"
|
67
|
-
exp += "
|
68
|
-
exp += "
|
69
|
-
exp += "
|
70
|
-
exp += "
|
71
|
-
exp += "
|
67
|
+
exp += " VERSION Specify the version.\n"
|
68
|
+
exp += " Tries to detect the needed version.\n"
|
69
|
+
exp += " If using chromedriver or edgedriver,\n"
|
70
|
+
exp += " you can use the major version integer.\n"
|
71
|
+
exp += "\n"
|
72
|
+
exp += " -p OR --path Also copy the driver to /usr/local/bin\n"
|
72
73
|
exp += " Examples:\n"
|
73
|
-
exp += "
|
74
|
-
exp += "
|
75
|
-
exp += "
|
76
|
-
exp += "
|
77
|
-
exp += "
|
78
|
-
exp += "
|
79
|
-
exp += "
|
80
|
-
exp += "
|
74
|
+
exp += " sbase get chromedriver\n"
|
75
|
+
exp += " sbase get geckodriver\n"
|
76
|
+
exp += " sbase get edgedriver\n"
|
77
|
+
exp += " sbase get chromedriver 114\n"
|
78
|
+
exp += " sbase get chromedriver 114.0.5735.90\n"
|
79
|
+
exp += " sbase get chromedriver stable\n"
|
80
|
+
exp += " sbase get chromedriver beta\n"
|
81
|
+
exp += " sbase get chromedriver -p\n"
|
81
82
|
exp += " Output:\n"
|
82
|
-
exp += "
|
83
|
-
exp += "
|
84
|
-
exp += "
|
85
|
-
exp += "
|
83
|
+
exp += " Downloads the webdriver to seleniumbase/drivers/\n"
|
84
|
+
exp += " (chromedriver is required for Chrome automation)\n"
|
85
|
+
exp += " (geckodriver is required for Firefox automation)\n"
|
86
|
+
exp += " (edgedriver is required for MS__Edge automation)\n"
|
86
87
|
print("")
|
87
88
|
raise Exception("%s\n\n%s" % (constants.Warnings.INVALID_RUN_COMMAND, exp))
|
88
89
|
|
@@ -293,10 +294,6 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
293
294
|
use_version = ""
|
294
295
|
new_file = ""
|
295
296
|
f_name = ""
|
296
|
-
if IS_WINDOWS and hasattr(colorama, "just_fix_windows_console"):
|
297
|
-
colorama.just_fix_windows_console()
|
298
|
-
else:
|
299
|
-
colorama.init(autoreset=True)
|
300
297
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
301
298
|
c2 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
|
302
299
|
c3 = colorama.Fore.BLUE + colorama.Back.LIGHTYELLOW_EX
|
@@ -944,7 +941,10 @@ def main(override=None, intel_for_uc=None, force_uc=None):
|
|
944
941
|
f_name = "uc_driver"
|
945
942
|
new_file = os.path.join(downloads_folder, str(f_name))
|
946
943
|
pr_file = c3 + new_file + cr
|
947
|
-
|
944
|
+
d_folder = os.sep.join(pr_file.split(os.sep)[:-1]) + os.sep
|
945
|
+
d_file = pr_file.split(os.sep)[-1]
|
946
|
+
d_ff = c3 + d_folder + cr + "\n" + c3 + d_file + cr
|
947
|
+
log_d("The file [%s] was saved to:\n%s\n" % (f_name, d_ff))
|
948
948
|
log_d("Making [%s %s] executable ..." % (f_name, use_version))
|
949
949
|
make_executable(new_file)
|
950
950
|
log_d(
|
@@ -31,22 +31,22 @@ import sys
|
|
31
31
|
def invalid_run_command(msg=None):
|
32
32
|
exp = " ** mkchart **\n\n"
|
33
33
|
exp += " Usage:\n"
|
34
|
-
exp += "
|
35
|
-
exp += "
|
34
|
+
exp += " seleniumbase mkchart [FILE.py] [LANG]\n"
|
35
|
+
exp += " OR sbase mkchart [FILE.py] [LANG]\n"
|
36
36
|
exp += " Example:\n"
|
37
|
-
exp += "
|
37
|
+
exp += " sbase mkchart new_chart.py --en\n"
|
38
38
|
exp += " Language Options:\n"
|
39
|
-
exp += "
|
40
|
-
exp += "
|
41
|
-
exp += "
|
42
|
-
exp += "
|
43
|
-
exp += "
|
39
|
+
exp += " --en / --English | --zh / --Chinese\n"
|
40
|
+
exp += " --nl / --Dutch | --fr / --French\n"
|
41
|
+
exp += " --it / --Italian | --ja / --Japanese\n"
|
42
|
+
exp += " --ko / --Korean | --pt / --Portuguese\n"
|
43
|
+
exp += " --ru / --Russian | --es / --Spanish\n"
|
44
44
|
exp += " Output:\n"
|
45
|
-
exp += "
|
46
|
-
exp += "
|
47
|
-
exp += "
|
48
|
-
exp += '
|
49
|
-
exp += "
|
45
|
+
exp += " Creates a new SeleniumBase chart presentation.\n"
|
46
|
+
exp += " If the file already exists, an error is raised.\n"
|
47
|
+
exp += " By default, the slides are written in English,\n"
|
48
|
+
exp += ' and use a "sky" theme with "slide" transition.\n'
|
49
|
+
exp += " The chart can be used as a basic boilerplate.\n"
|
50
50
|
if not msg:
|
51
51
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
52
52
|
elif msg == "help":
|
@@ -62,13 +62,6 @@ def main():
|
|
62
62
|
c7 = ""
|
63
63
|
cr = ""
|
64
64
|
if "linux" not in sys.platform:
|
65
|
-
if (
|
66
|
-
"win32" in sys.platform
|
67
|
-
and hasattr(colorama, "just_fix_windows_console")
|
68
|
-
):
|
69
|
-
colorama.just_fix_windows_console()
|
70
|
-
else:
|
71
|
-
colorama.init(autoreset=True)
|
72
65
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
73
66
|
c5 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
74
67
|
c7 = colorama.Fore.BLACK + colorama.Back.MAGENTA
|
@@ -27,18 +27,18 @@ import sys
|
|
27
27
|
def invalid_run_command(msg=None):
|
28
28
|
exp = " ** mkdir **\n\n"
|
29
29
|
exp += " Usage:\n"
|
30
|
-
exp += "
|
31
|
-
exp += "
|
30
|
+
exp += " seleniumbase mkdir [DIRECTORY] [OPTIONS]\n"
|
31
|
+
exp += " OR sbase mkdir [DIRECTORY] [OPTIONS]\n"
|
32
32
|
exp += " Example:\n"
|
33
|
-
exp += "
|
33
|
+
exp += " sbase mkdir ui_tests\n"
|
34
34
|
exp += " Options:\n"
|
35
|
-
exp += "
|
35
|
+
exp += " -b / --basic (Only config files. No tests added.)\n"
|
36
36
|
exp += " Output:\n"
|
37
|
-
exp += "
|
38
|
-
exp += "
|
39
|
-
exp += "
|
40
|
-
exp += "
|
41
|
-
exp += "
|
37
|
+
exp += " Creates a new folder for running SBase scripts.\n"
|
38
|
+
exp += " The new folder contains default config files,\n"
|
39
|
+
exp += " sample tests for helping new users get started,\n"
|
40
|
+
exp += " and Python boilerplates for setting up customized\n"
|
41
|
+
exp += " test frameworks.\n"
|
42
42
|
if not msg:
|
43
43
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
44
44
|
elif msg == "help":
|
@@ -54,13 +54,6 @@ def main():
|
|
54
54
|
c7 = ""
|
55
55
|
cr = ""
|
56
56
|
if "linux" not in sys.platform:
|
57
|
-
if (
|
58
|
-
"win32" in sys.platform
|
59
|
-
and hasattr(colorama, "just_fix_windows_console")
|
60
|
-
):
|
61
|
-
colorama.just_fix_windows_console()
|
62
|
-
else:
|
63
|
-
colorama.init(autoreset=True)
|
64
57
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
65
58
|
c5 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
66
59
|
c7 = colorama.Fore.BLACK + colorama.Back.MAGENTA
|
@@ -49,38 +49,38 @@ import sys
|
|
49
49
|
def invalid_run_command(msg=None):
|
50
50
|
exp = " ** mkfile **\n\n"
|
51
51
|
exp += " Usage:\n"
|
52
|
-
exp += "
|
53
|
-
exp += "
|
52
|
+
exp += " seleniumbase mkfile [FILE.py] [OPTIONS]\n"
|
53
|
+
exp += " OR sbase mkfile [FILE.py] [OPTIONS]\n"
|
54
54
|
exp += " Example:\n"
|
55
|
-
exp += "
|
55
|
+
exp += " sbase mkfile new_test.py\n"
|
56
56
|
exp += " Options:\n"
|
57
|
-
exp += "
|
58
|
-
exp += "
|
59
|
-
exp += "
|
60
|
-
exp += "
|
57
|
+
exp += " --uc (UC Mode boilerplate using SB context manager)\n"
|
58
|
+
exp += " -b / --basic (Basic boilerplate / single-line test)\n"
|
59
|
+
exp += " -r / --rec (Adds Pdb+ breakpoint for Recorder Mode)\n"
|
60
|
+
exp += " --url=URL (Makes the test start on a specific page)\n"
|
61
61
|
exp += " Language Options:\n"
|
62
|
-
exp += "
|
63
|
-
exp += "
|
64
|
-
exp += "
|
65
|
-
exp += "
|
66
|
-
exp += "
|
62
|
+
exp += " --en / --English | --zh / --Chinese\n"
|
63
|
+
exp += " --nl / --Dutch | --fr / --French\n"
|
64
|
+
exp += " --it / --Italian | --ja / --Japanese\n"
|
65
|
+
exp += " --ko / --Korean | --pt / --Portuguese\n"
|
66
|
+
exp += " --ru / --Russian | --es / --Spanish\n"
|
67
67
|
exp += " Syntax Formats:\n"
|
68
|
-
exp += "
|
69
|
-
exp += "
|
70
|
-
exp += "
|
71
|
-
exp += "
|
72
|
-
exp += "
|
73
|
-
exp += "
|
68
|
+
exp += " --bc / --basecase (BaseCase class inheritance)\n"
|
69
|
+
exp += " --pf / --pytest-fixture (sb pytest fixture)\n"
|
70
|
+
exp += " --cf / --class-fixture (class + sb pytest fixture)\n"
|
71
|
+
exp += " --cm / --context-manager (SB context manager)\n"
|
72
|
+
exp += " --dc / --driver-context (DriverContext manager)\n"
|
73
|
+
exp += " --dm / --driver-manager (Driver manager)\n"
|
74
74
|
exp += " Output:\n"
|
75
|
-
exp += "
|
76
|
-
exp += "
|
77
|
-
exp += "
|
78
|
-
exp += "
|
79
|
-
exp += '
|
80
|
-
exp += '
|
81
|
-
exp += '
|
82
|
-
exp += "
|
83
|
-
exp += "
|
75
|
+
exp += " Creates a new SBase test file with boilerplate code.\n"
|
76
|
+
exp += " If the file already exists, an error is raised.\n"
|
77
|
+
exp += " By default, uses English with BaseCase inheritance,\n"
|
78
|
+
exp += " and creates a boilerplate with common SeleniumBase\n"
|
79
|
+
exp += ' methods: "open", "type", "click", "assert_element",\n'
|
80
|
+
exp += ' and "assert_text". If using the basic boilerplate\n'
|
81
|
+
exp += ' option, only the "open" method is included. Only the\n'
|
82
|
+
exp += " BaseCase format supports Languages or Recorder Mode.\n"
|
83
|
+
exp += " UC Mode automatically uses English with SB() format.\n"
|
84
84
|
if not msg:
|
85
85
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
86
86
|
elif msg == "help":
|
@@ -96,13 +96,6 @@ def main():
|
|
96
96
|
c7 = ""
|
97
97
|
cr = ""
|
98
98
|
if "linux" not in sys.platform:
|
99
|
-
if (
|
100
|
-
"win32" in sys.platform
|
101
|
-
and hasattr(colorama, "just_fix_windows_console")
|
102
|
-
):
|
103
|
-
colorama.just_fix_windows_console()
|
104
|
-
else:
|
105
|
-
colorama.init(autoreset=True)
|
106
99
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
107
100
|
c5 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
108
101
|
c7 = colorama.Fore.BLACK + colorama.Back.MAGENTA
|
@@ -31,22 +31,22 @@ import sys
|
|
31
31
|
def invalid_run_command(msg=None):
|
32
32
|
exp = " ** mkpres **\n\n"
|
33
33
|
exp += " Usage:\n"
|
34
|
-
exp += "
|
35
|
-
exp += "
|
34
|
+
exp += " seleniumbase mkpres [FILE.py] [LANG]\n"
|
35
|
+
exp += " OR sbase mkpres [FILE.py] [LANG]\n"
|
36
36
|
exp += " Example:\n"
|
37
|
-
exp += "
|
37
|
+
exp += " sbase mkpres new_presentation.py --en\n"
|
38
38
|
exp += " Language Options:\n"
|
39
|
-
exp += "
|
40
|
-
exp += "
|
41
|
-
exp += "
|
42
|
-
exp += "
|
43
|
-
exp += "
|
39
|
+
exp += " --en / --English | --zh / --Chinese\n"
|
40
|
+
exp += " --nl / --Dutch | --fr / --French\n"
|
41
|
+
exp += " --it / --Italian | --ja / --Japanese\n"
|
42
|
+
exp += " --ko / --Korean | --pt / --Portuguese\n"
|
43
|
+
exp += " --ru / --Russian | --es / --Spanish\n"
|
44
44
|
exp += " Output:\n"
|
45
|
-
exp += "
|
46
|
-
exp += "
|
47
|
-
exp += "
|
48
|
-
exp += '
|
49
|
-
exp += "
|
45
|
+
exp += " Creates a new presentation with 3 example slides.\n"
|
46
|
+
exp += " If the file already exists, an error is raised.\n"
|
47
|
+
exp += " By default, the slides are written in English,\n"
|
48
|
+
exp += ' and use "serif" theme with "slide" transition.\n'
|
49
|
+
exp += " The slides can be used as a basic boilerplate.\n"
|
50
50
|
if not msg:
|
51
51
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
52
52
|
elif msg == "help":
|
@@ -62,13 +62,6 @@ def main():
|
|
62
62
|
c7 = ""
|
63
63
|
cr = ""
|
64
64
|
if "linux" not in sys.platform:
|
65
|
-
if (
|
66
|
-
"win32" in sys.platform
|
67
|
-
and hasattr(colorama, "just_fix_windows_console")
|
68
|
-
):
|
69
|
-
colorama.just_fix_windows_console()
|
70
|
-
else:
|
71
|
-
colorama.init(autoreset=True)
|
72
65
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
73
66
|
c5 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
74
67
|
c7 = colorama.Fore.BLACK + colorama.Back.MAGENTA
|
@@ -39,21 +39,21 @@ import sys
|
|
39
39
|
def invalid_run_command(msg=None):
|
40
40
|
exp = " ** mkrec / record / codegen **\n\n"
|
41
41
|
exp += " Usage:\n"
|
42
|
-
exp += "
|
43
|
-
exp += "
|
42
|
+
exp += " seleniumbase mkrec [FILE.py]\n"
|
43
|
+
exp += " OR: sbase mkrec [FILE.py]\n"
|
44
44
|
exp += " Examples:\n"
|
45
|
-
exp += "
|
46
|
-
exp += "
|
45
|
+
exp += " sbase mkrec new_test.py\n"
|
46
|
+
exp += " sbase mkrec new_test.py --url=wikipedia.org\n"
|
47
47
|
exp += " Options:\n"
|
48
|
-
exp += "
|
49
|
-
exp += "
|
50
|
-
exp += "
|
51
|
-
exp += "
|
52
|
-
exp += "
|
53
|
-
exp += "
|
48
|
+
exp += " --url=URL (Sets the initial start page URL.)\n"
|
49
|
+
exp += " --edge (Use Edge browser instead of Chrome.)\n"
|
50
|
+
exp += " --gui / --headed (Use headed mode on Linux.)\n"
|
51
|
+
exp += " --uc / --undetected (Use undetectable mode.)\n"
|
52
|
+
exp += " --overwrite (Overwrite file when it exists.)\n"
|
53
|
+
exp += " --behave (Also output Behave/Gherkin files.)\n"
|
54
54
|
exp += " Output:\n"
|
55
|
-
exp += "
|
56
|
-
exp += "
|
55
|
+
exp += " Creates a new SeleniumBase test using the Recorder.\n"
|
56
|
+
exp += " If the filename already exists, an error is raised.\n"
|
57
57
|
if not msg:
|
58
58
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
59
59
|
elif msg == "help":
|
@@ -71,13 +71,6 @@ def set_colors(use_colors):
|
|
71
71
|
c7 = ""
|
72
72
|
cr = ""
|
73
73
|
if use_colors:
|
74
|
-
if (
|
75
|
-
"win32" in sys.platform
|
76
|
-
and hasattr(colorama, "just_fix_windows_console")
|
77
|
-
):
|
78
|
-
colorama.just_fix_windows_console()
|
79
|
-
else:
|
80
|
-
colorama.init(autoreset=True)
|
81
74
|
c0 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
82
75
|
c1 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
83
76
|
c2 = colorama.Fore.LIGHTRED_EX + colorama.Back.LIGHTYELLOW_EX
|
@@ -2,11 +2,11 @@
|
|
2
2
|
Converts a SeleniumBase Python file into one that uses the Page Object Pattern.
|
3
3
|
|
4
4
|
Usage:
|
5
|
-
|
5
|
+
seleniumbase objectify [SELENIUMBASE_PYTHON_FILE].py
|
6
6
|
Output:
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
A modified version of the file where the selectors
|
8
|
+
have been replaced with variable names defined in
|
9
|
+
"page_objects.py", supporting the Page Object Pattern.
|
10
10
|
"""
|
11
11
|
import codecs
|
12
12
|
import os
|
@@ -35,57 +35,57 @@ def invalid_run_command(shell_command):
|
|
35
35
|
def invalid_objectify_run_command():
|
36
36
|
exp = " ** objectify **\n\n"
|
37
37
|
exp += " Usage:\n"
|
38
|
-
exp += "
|
38
|
+
exp += " seleniumbase objectify [SELENIUMBASE_PYTHON_FILE]\n"
|
39
39
|
exp += " Options:\n"
|
40
|
-
exp += "
|
41
|
-
exp += "
|
40
|
+
exp += " -c, --comments (Add object selectors to the comments.)\n"
|
41
|
+
exp += " (Default: No added comments.)\n"
|
42
42
|
exp += " Output:\n"
|
43
|
-
exp += "
|
44
|
-
exp += "
|
45
|
-
exp += '
|
46
|
-
exp += "
|
47
|
-
exp += '
|
48
|
-
exp += '
|
43
|
+
exp += " Converts a SeleniumBase Python file into one that uses\n"
|
44
|
+
exp += " the Page Object Pattern by converting page selectors\n"
|
45
|
+
exp += ' into objects stored in a "page_objects.py" file that is\n'
|
46
|
+
exp += " autogenerated and stored in the same folder as tests.\n"
|
47
|
+
exp += ' (seleniumbase "objectify" has the same outcome as\n'
|
48
|
+
exp += ' combining "extract-objects" with "inject-objects")\n'
|
49
49
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
50
50
|
|
51
51
|
|
52
52
|
def invalid_inject_objects_run_command():
|
53
53
|
exp = " ** inject-objects **\n\n"
|
54
54
|
exp += " Usage:\n"
|
55
|
-
exp += "
|
55
|
+
exp += " seleniumbase inject-objects [SELENIUMBASE_PYTHON_FILE]\n"
|
56
56
|
exp += " Options:\n"
|
57
|
-
exp += "
|
58
|
-
exp += "
|
57
|
+
exp += " -c, --comments (Add object selectors to the comments.)\n"
|
58
|
+
exp += " (Default: No added comments.)\n"
|
59
59
|
exp += " Output:\n"
|
60
|
-
exp += '
|
61
|
-
exp += "
|
62
|
-
exp += "
|
60
|
+
exp += ' Takes the page objects found in the "page_objects.py"\n'
|
61
|
+
exp += " file and uses those to replace matching selectors in\n"
|
62
|
+
exp += " the selected seleniumbase Python file.\n"
|
63
63
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
64
64
|
|
65
65
|
|
66
66
|
def invalid_extract_objects_run_command():
|
67
67
|
exp = " ** extract-objects **\n\n"
|
68
68
|
exp += " Usage:\n"
|
69
|
-
exp += "
|
69
|
+
exp += " seleniumbase extract-objects [SELENIUMBASE_PYTHON_FILE]\n"
|
70
70
|
exp += " Output:\n"
|
71
|
-
exp += "
|
72
|
-
exp += "
|
73
|
-
exp += '
|
71
|
+
exp += " Creates page objects based on selectors found in a\n"
|
72
|
+
exp += " seleniumbase Python file and saves those objects to the\n"
|
73
|
+
exp += ' "page_objects.py" file in the same folder as the tests.\n'
|
74
74
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
75
75
|
|
76
76
|
|
77
77
|
def invalid_revert_objects_run_command():
|
78
78
|
exp = " ** revert-objects **\n\n"
|
79
79
|
exp += " Usage:\n"
|
80
|
-
exp += "
|
80
|
+
exp += " seleniumbase revert-objects [SELENIUMBASE_PYTHON_FILE]\n"
|
81
81
|
exp += " Options:\n"
|
82
|
-
exp += "
|
83
|
-
exp += "
|
82
|
+
exp += " -c, --comments (Keep existing comments for the lines.)\n"
|
83
|
+
exp += " (Default: No comments are kept.)\n"
|
84
84
|
exp += " Output:\n"
|
85
|
-
exp += '
|
86
|
-
exp += '
|
87
|
-
exp += "
|
88
|
-
exp += '
|
85
|
+
exp += ' Reverts the changes made by "seleniumbase objectify" or\n'
|
86
|
+
exp += ' "seleniumbase inject-objects" when run against a\n'
|
87
|
+
exp += " seleniumbase Python file. Objects will get replaced by\n"
|
88
|
+
exp += ' selectors stored in the "page_objects.py" file.\n'
|
89
89
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
90
90
|
|
91
91
|
|
@@ -18,13 +18,13 @@ import sys
|
|
18
18
|
def invalid_run_command(msg=None):
|
19
19
|
exp = " ** print **\n\n"
|
20
20
|
exp += " Usage:\n"
|
21
|
-
exp += "
|
22
|
-
exp += "
|
21
|
+
exp += " seleniumbase print [FILE] [OPTIONS]\n"
|
22
|
+
exp += " OR: sbase print [FILE] [OPTIONS]\n"
|
23
23
|
exp += " Options:\n"
|
24
|
-
exp += "
|
24
|
+
exp += " -n (Add line Numbers to the rows)\n"
|
25
25
|
exp += " Output:\n"
|
26
|
-
exp += "
|
27
|
-
exp += "
|
26
|
+
exp += " Prints the code/text of any file\n"
|
27
|
+
exp += " with syntax-highlighting.\n"
|
28
28
|
if not msg:
|
29
29
|
raise Exception("INVALID RUN COMMAND!\n\n%s" % exp)
|
30
30
|
else:
|
@@ -61,13 +61,6 @@ def get_width(line):
|
|
61
61
|
|
62
62
|
|
63
63
|
def main():
|
64
|
-
if (
|
65
|
-
"win32" in sys.platform
|
66
|
-
and hasattr(colorama, "just_fix_windows_console")
|
67
|
-
):
|
68
|
-
colorama.just_fix_windows_console()
|
69
|
-
else:
|
70
|
-
colorama.init(autoreset=True)
|
71
64
|
c5 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|
72
65
|
c7 = colorama.Fore.BLACK + colorama.Back.MAGENTA
|
73
66
|
cr = colorama.Style.RESET_ALL
|
@@ -45,13 +45,6 @@ def set_colors(use_colors):
|
|
45
45
|
c4 = ""
|
46
46
|
cr = ""
|
47
47
|
if use_colors:
|
48
|
-
if (
|
49
|
-
"win32" in sys.platform
|
50
|
-
and hasattr(colorama, "just_fix_windows_console")
|
51
|
-
):
|
52
|
-
colorama.just_fix_windows_console()
|
53
|
-
else:
|
54
|
-
colorama.init(autoreset=True)
|
55
48
|
c0 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
|
56
49
|
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
|
57
50
|
c2 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
|