cucu 1.2.2__py3-none-any.whl → 1.2.4__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.
Potentially problematic release.
This version of cucu might be problematic. Click here for more details.
- cucu/__init__.py +0 -0
- cucu/ansi_parser.py +0 -0
- cucu/behave_tweaks.py +0 -0
- cucu/browser/__init__.py +0 -0
- cucu/browser/core.py +12 -0
- cucu/browser/frames.py +0 -0
- cucu/browser/selenium.py +50 -0
- cucu/browser/selenium_tweaks.py +0 -0
- cucu/cli/__init__.py +0 -0
- cucu/cli/core.py +0 -0
- cucu/cli/run.py +0 -0
- cucu/cli/steps.py +0 -0
- cucu/cli/thread_dumper.py +0 -0
- cucu/config.py +8 -1
- cucu/edgedriver_autoinstaller/README.md +0 -0
- cucu/edgedriver_autoinstaller/__init__.py +0 -0
- cucu/edgedriver_autoinstaller/utils.py +0 -0
- cucu/environment.py +6 -6
- cucu/external/jquery/jquery-3.5.1.min.js +0 -0
- cucu/formatter/__init__.py +0 -0
- cucu/formatter/cucu.py +0 -0
- cucu/formatter/json.py +0 -0
- cucu/formatter/junit.py +0 -0
- cucu/fuzzy/__init__.py +0 -0
- cucu/fuzzy/core.py +0 -0
- cucu/fuzzy/fuzzy.js +0 -0
- cucu/helpers.py +0 -0
- cucu/hooks.py +0 -0
- cucu/init_data/.gitignore +0 -0
- cucu/init_data/README.md +0 -0
- cucu/init_data/cucurc.yml +0 -0
- cucu/init_data/data/www/example.html +0 -0
- cucu/init_data/features/cucurc.yml +0 -0
- cucu/init_data/features/environment.py +0 -0
- cucu/init_data/features/example.feature +0 -0
- cucu/init_data/features/lint_rules/sid.yaml +0 -0
- cucu/init_data/features/steps/__init__.py +0 -0
- cucu/init_data/features/steps/my_steps.py +0 -0
- cucu/language_server/__init__.py +0 -0
- cucu/language_server/core.py +0 -0
- cucu/lint/__init__.py +0 -0
- cucu/lint/linter.py +0 -0
- cucu/lint/rules/format.yaml +0 -0
- cucu/logger.py +0 -0
- cucu/matcher/__init__.py +0 -0
- cucu/matcher/core.py +0 -0
- cucu/page_checks.py +0 -0
- cucu/reporter/__init__.py +0 -0
- cucu/reporter/external/bootstrap.min.css +0 -0
- cucu/reporter/external/bootstrap.min.js +0 -0
- cucu/reporter/external/dataTables.bootstrap.min.css +0 -0
- cucu/reporter/external/dataTables.bootstrap.min.js +0 -0
- cucu/reporter/external/jquery-3.5.1.min.js +0 -0
- cucu/reporter/external/jquery.dataTables.min.js +0 -0
- cucu/reporter/external/popper.min.js +0 -0
- cucu/reporter/favicon.png +0 -0
- cucu/reporter/html.py +0 -0
- cucu/reporter/templates/feature.html +0 -0
- cucu/reporter/templates/flat.html +0 -0
- cucu/reporter/templates/index.html +0 -0
- cucu/reporter/templates/layout.html +0 -0
- cucu/reporter/templates/scenario.html +2 -2
- cucu/steps/__init__.py +0 -0
- cucu/steps/base_steps.py +0 -0
- cucu/steps/browser_steps.py +64 -2
- cucu/steps/button_steps.py +0 -0
- cucu/steps/checkbox_steps.py +0 -0
- cucu/steps/command_steps.py +0 -0
- cucu/steps/draggable_steps.py +0 -0
- cucu/steps/dropdown_steps.py +0 -0
- cucu/steps/file_input_steps.py +0 -0
- cucu/steps/filesystem_steps.py +0 -0
- cucu/steps/flow_control_steps.py +0 -0
- cucu/steps/image_steps.py +0 -0
- cucu/steps/input_steps.py +0 -0
- cucu/steps/link_steps.py +0 -0
- cucu/steps/menuitem_steps.py +0 -0
- cucu/steps/platform_steps.py +0 -0
- cucu/steps/radio_steps.py +0 -0
- cucu/steps/section_steps.py +0 -0
- cucu/steps/step_utils.py +0 -0
- cucu/steps/tab_steps.py +0 -0
- cucu/steps/table_steps.py +0 -0
- cucu/steps/tables.js +0 -0
- cucu/steps/text_steps.py +0 -0
- cucu/steps/variable_steps.py +0 -0
- cucu/steps/webserver_steps.py +0 -0
- cucu/utils.py +0 -13
- {cucu-1.2.2.dist-info → cucu-1.2.4.dist-info}/METADATA +12 -11
- cucu-1.2.4.dist-info/RECORD +92 -0
- cucu-1.2.4.dist-info/WHEEL +4 -0
- {cucu-1.2.2.dist-info → cucu-1.2.4.dist-info}/entry_points.txt +1 -0
- cucu-1.2.2.dist-info/RECORD +0 -93
- cucu-1.2.2.dist-info/WHEEL +0 -4
- cucu-1.2.2.dist-info/licenses/LICENSE +0 -32
cucu/__init__.py
CHANGED
|
File without changes
|
cucu/ansi_parser.py
CHANGED
|
File without changes
|
cucu/behave_tweaks.py
CHANGED
|
File without changes
|
cucu/browser/__init__.py
CHANGED
|
File without changes
|
cucu/browser/core.py
CHANGED
|
@@ -55,6 +55,18 @@ class Browser:
|
|
|
55
55
|
def close_window(self):
|
|
56
56
|
raise RuntimeError("implement me")
|
|
57
57
|
|
|
58
|
+
def get_tab_info(self):
|
|
59
|
+
raise RuntimeError("implement me")
|
|
60
|
+
|
|
61
|
+
def get_all_tabs_info(self):
|
|
62
|
+
raise RuntimeError("implement me")
|
|
63
|
+
|
|
64
|
+
def switch_to_nth_tab(self, tab_index):
|
|
65
|
+
raise RuntimeError("implement me")
|
|
66
|
+
|
|
67
|
+
def switch_to_tab_that_matches_regex(self, text):
|
|
68
|
+
raise RuntimeError("implement me")
|
|
69
|
+
|
|
58
70
|
def quit(self):
|
|
59
71
|
raise RuntimeError("implement me")
|
|
60
72
|
|
cucu/browser/frames.py
CHANGED
|
File without changes
|
cucu/browser/selenium.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import os
|
|
3
|
+
import re
|
|
3
4
|
|
|
4
5
|
import chromedriver_autoinstaller
|
|
5
6
|
import geckodriver_autoinstaller
|
|
@@ -226,6 +227,55 @@ class Selenium(Browser):
|
|
|
226
227
|
raise RuntimeError("no previous browser tab available")
|
|
227
228
|
self.driver.switch_to.window(window_handles[window_handle_index - 1])
|
|
228
229
|
|
|
230
|
+
def switch_to_nth_tab(self, tab_number):
|
|
231
|
+
print(f"tab_number, {tab_number}")
|
|
232
|
+
window_handles = self.driver.window_handles
|
|
233
|
+
total_tabs = len(window_handles)
|
|
234
|
+
if tab_number > total_tabs:
|
|
235
|
+
raise RuntimeError(f"no {tab_number} browser tab available")
|
|
236
|
+
self.driver.switch_to.window(window_handles[tab_number])
|
|
237
|
+
|
|
238
|
+
def switch_to_tab_that_matches_regex(self, title_pattern):
|
|
239
|
+
window_handles = self.driver.window_handles
|
|
240
|
+
|
|
241
|
+
for handle in window_handles:
|
|
242
|
+
self.driver.switch_to.window(handle)
|
|
243
|
+
if re.search(title_pattern, self.driver.title):
|
|
244
|
+
return
|
|
245
|
+
|
|
246
|
+
raise Exception(f"No tab title matches pattern: {title_pattern}")
|
|
247
|
+
|
|
248
|
+
def get_tab_info(self):
|
|
249
|
+
window_handles = self.driver.window_handles
|
|
250
|
+
current_window = self.driver.current_window_handle
|
|
251
|
+
window_handle_index = window_handles.index(current_window)
|
|
252
|
+
|
|
253
|
+
return {
|
|
254
|
+
"tab_count": len(window_handles),
|
|
255
|
+
"index": window_handle_index,
|
|
256
|
+
"title": self.driver.title,
|
|
257
|
+
"url": self.driver.current_url,
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
def get_all_tabs_info(self):
|
|
261
|
+
window_handles = self.driver.window_handles
|
|
262
|
+
current_window = self.driver.current_window_handle
|
|
263
|
+
tabs_info = []
|
|
264
|
+
|
|
265
|
+
for handle in window_handles:
|
|
266
|
+
self.driver.switch_to.window(handle)
|
|
267
|
+
tabs_info.append(
|
|
268
|
+
{
|
|
269
|
+
"title": self.driver.title,
|
|
270
|
+
"url": self.driver.current_url,
|
|
271
|
+
}
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
# Switch back to the original window
|
|
275
|
+
self.driver.switch_to.window(current_window)
|
|
276
|
+
|
|
277
|
+
return tabs_info
|
|
278
|
+
|
|
229
279
|
def back(self):
|
|
230
280
|
self.driver.back()
|
|
231
281
|
self.wait_for_page_to_load()
|
cucu/browser/selenium_tweaks.py
CHANGED
|
File without changes
|
cucu/cli/__init__.py
CHANGED
|
File without changes
|
cucu/cli/core.py
CHANGED
|
File without changes
|
cucu/cli/run.py
CHANGED
|
File without changes
|
cucu/cli/steps.py
CHANGED
|
File without changes
|
cucu/cli/thread_dumper.py
CHANGED
|
File without changes
|
cucu/config.py
CHANGED
|
@@ -313,7 +313,14 @@ class Config(dict):
|
|
|
313
313
|
v = f"'{v}'"
|
|
314
314
|
config[k] = v
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
# Resolve non-atomic classes to their string representation
|
|
317
|
+
yaml.representer.SafeRepresenter.add_representer(
|
|
318
|
+
None,
|
|
319
|
+
lambda dumper, data: dumper.represent_scalar(
|
|
320
|
+
"tag:yaml.org,2002:str", str(data)
|
|
321
|
+
),
|
|
322
|
+
)
|
|
323
|
+
return yaml.safe_dump(config)
|
|
317
324
|
|
|
318
325
|
|
|
319
326
|
# global config object
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
cucu/environment.py
CHANGED
|
@@ -10,7 +10,7 @@ from functools import partial
|
|
|
10
10
|
from cucu import config, init_scenario_hook_variables, logger
|
|
11
11
|
from cucu.config import CONFIG
|
|
12
12
|
from cucu.page_checks import init_page_checks
|
|
13
|
-
from cucu.utils import ellipsize_filename,
|
|
13
|
+
from cucu.utils import ellipsize_filename, take_screenshot
|
|
14
14
|
|
|
15
15
|
CONFIG.define(
|
|
16
16
|
"FEATURE_RESULTS_DIR",
|
|
@@ -264,11 +264,11 @@ def after_step(ctx, step):
|
|
|
264
264
|
if ctx.browser is not None and ctx.current_step.has_substeps is False:
|
|
265
265
|
take_screenshot(ctx, step.name, label=f"After {step.name}")
|
|
266
266
|
|
|
267
|
-
tab_info =
|
|
268
|
-
total_tabs = tab_info["
|
|
269
|
-
current_tab = tab_info["
|
|
270
|
-
title = tab_info["
|
|
271
|
-
url = tab_info["
|
|
267
|
+
tab_info = ctx.browser.get_tab_info()
|
|
268
|
+
total_tabs = tab_info["tab_count"]
|
|
269
|
+
current_tab = tab_info["index"] + 1
|
|
270
|
+
title = tab_info["title"]
|
|
271
|
+
url = tab_info["url"]
|
|
272
272
|
log_message = (
|
|
273
273
|
f"\ntab({current_tab} of {total_tabs}): {title}\nurl: {url}\n"
|
|
274
274
|
)
|
|
File without changes
|
cucu/formatter/__init__.py
CHANGED
|
File without changes
|
cucu/formatter/cucu.py
CHANGED
|
File without changes
|
cucu/formatter/json.py
CHANGED
|
File without changes
|
cucu/formatter/junit.py
CHANGED
|
File without changes
|
cucu/fuzzy/__init__.py
CHANGED
|
File without changes
|
cucu/fuzzy/core.py
CHANGED
|
File without changes
|
cucu/fuzzy/fuzzy.js
CHANGED
|
File without changes
|
cucu/helpers.py
CHANGED
|
File without changes
|
cucu/hooks.py
CHANGED
|
File without changes
|
cucu/init_data/.gitignore
CHANGED
|
File without changes
|
cucu/init_data/README.md
CHANGED
|
File without changes
|
cucu/init_data/cucurc.yml
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
cucu/language_server/__init__.py
CHANGED
|
File without changes
|
cucu/language_server/core.py
CHANGED
|
File without changes
|
cucu/lint/__init__.py
CHANGED
|
File without changes
|
cucu/lint/linter.py
CHANGED
|
File without changes
|
cucu/lint/rules/format.yaml
CHANGED
|
File without changes
|
cucu/logger.py
CHANGED
|
File without changes
|
cucu/matcher/__init__.py
CHANGED
|
File without changes
|
cucu/matcher/core.py
CHANGED
|
File without changes
|
cucu/page_checks.py
CHANGED
|
File without changes
|
cucu/reporter/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
cucu/reporter/favicon.png
CHANGED
|
File without changes
|
cucu/reporter/html.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
{% endif %}
|
|
76
76
|
</td>
|
|
77
77
|
<td style="text-align: right; margin-top: auto;" class="col-2">
|
|
78
|
-
<pre style="display: inline; color: gray;">
|
|
78
|
+
<pre style="display: inline; color: gray;">Start Time and Duration (s)</pre>
|
|
79
79
|
</td>
|
|
80
80
|
</tr>
|
|
81
81
|
{% for step in steps %}
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
{% if step['result'] is defined %}
|
|
89
89
|
{% set step_status = step['result']['status'] %}
|
|
90
90
|
{% if step['result']['status'] == 'failed' or step['result']['status'] == 'passed' %}
|
|
91
|
-
{% set step_timing = "{} for {:.3f}s".format(step["result"]["
|
|
91
|
+
{% set step_timing = "{} for {:.3f}s".format(step["result"]["timestamp"].strftime("%H:%M:%S"), step["result"]["duration"]) %}
|
|
92
92
|
{% set step_start = step["result"]["timestamp"] %}
|
|
93
93
|
{% endif %}
|
|
94
94
|
{% else %}
|
cucu/steps/__init__.py
CHANGED
|
File without changes
|
cucu/steps/base_steps.py
CHANGED
|
File without changes
|
cucu/steps/browser_steps.py
CHANGED
|
@@ -32,7 +32,7 @@ def open_a_browser(ctx, url):
|
|
|
32
32
|
Given I open a browser at the url "https://www.google.com"
|
|
33
33
|
"""
|
|
34
34
|
if ctx.browser is None:
|
|
35
|
-
ctx.browser = open_browser(ctx)
|
|
35
|
+
ctx.browser = retry(open_browser)(ctx)
|
|
36
36
|
ctx.browsers.append(ctx.browser)
|
|
37
37
|
else:
|
|
38
38
|
logger.debug("browser already open so using existing instance")
|
|
@@ -43,7 +43,7 @@ def open_a_browser(ctx, url):
|
|
|
43
43
|
|
|
44
44
|
@step('I open a new browser at the url "{url}"')
|
|
45
45
|
def open_a_new_browser(ctx, url):
|
|
46
|
-
ctx.browser = open_browser(ctx)
|
|
46
|
+
ctx.browser = retry(open_browser)(ctx)
|
|
47
47
|
ctx.browsers.append(ctx.browser)
|
|
48
48
|
logger.debug(f"navigating to url #{url}")
|
|
49
49
|
ctx.browser.navigate(url)
|
|
@@ -219,6 +219,68 @@ def wait_to_switch_to_previous_browser_tab(ctx):
|
|
|
219
219
|
retry(switch_to_previous_tab)(ctx)
|
|
220
220
|
|
|
221
221
|
|
|
222
|
+
def switch_to_nth_tab(ctx, tab_number):
|
|
223
|
+
ctx.check_browser_initialized()
|
|
224
|
+
ctx.browser.switch_to_nth_tab(tab_number)
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
@step('I switch to the "{nth:nth}" browser tab')
|
|
228
|
+
def switch_to_nth_browser_tab(ctx, nth):
|
|
229
|
+
switch_to_nth_tab(ctx, nth)
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
@step('I wait to switch to the "{nth:nth}" browser tab')
|
|
233
|
+
def wait_to_switch_to_nth_browser_tab(ctx, nth):
|
|
234
|
+
retry(switch_to_nth_tab)(ctx, nth)
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
def switch_to_tab_matching_regex(ctx, regex):
|
|
238
|
+
ctx.check_browser_initialized()
|
|
239
|
+
ctx.browser.switch_to_tab_that_matches_regex(regex)
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
@step('I switch to the browser tab that matches "{regex}"')
|
|
243
|
+
def switch_to_browser_tab_matching_regex(ctx, regex):
|
|
244
|
+
switch_to_tab_matching_regex(ctx, regex)
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
@step('I wait to switch to the browser tab that matches "{regex}"')
|
|
248
|
+
def wait_to_switch_to_browser_tab_matching_regex(ctx, regex):
|
|
249
|
+
retry(switch_to_tab_matching_regex)(ctx, regex)
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
@step('I save the browser tabs info to the variable "{variable}"')
|
|
253
|
+
def save_browser_tabs_info_to_variable(ctx, variable):
|
|
254
|
+
ctx.check_browser_initialized()
|
|
255
|
+
tabs_info = ctx.browser.get_all_tabs_info()
|
|
256
|
+
lst_tab_info = [
|
|
257
|
+
f"tab({index + 1}): {tab['title']}, url: {tab['url']}"
|
|
258
|
+
for index, tab in enumerate(tabs_info)
|
|
259
|
+
]
|
|
260
|
+
config.CONFIG[variable] = lst_tab_info
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
@step("I list the current browser tab info")
|
|
264
|
+
def list_current_browser_tab_info(ctx):
|
|
265
|
+
ctx.check_browser_initialized()
|
|
266
|
+
tab_info = ctx.browser.get_tab_info()
|
|
267
|
+
current_tab = tab_info["index"] + 1
|
|
268
|
+
title = tab_info["title"]
|
|
269
|
+
url = tab_info["url"]
|
|
270
|
+
print(f"\ntab({current_tab}): {title}\nurl: {url}\n")
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
@step("I list all browser tabs info")
|
|
274
|
+
def list_browser_tabs_info(ctx):
|
|
275
|
+
ctx.check_browser_initialized()
|
|
276
|
+
all_tabs_info = ctx.browser.get_all_tabs_info()
|
|
277
|
+
for index, tab in enumerate(all_tabs_info):
|
|
278
|
+
tab_index = index + 1
|
|
279
|
+
title = tab["title"]
|
|
280
|
+
url = tab["url"]
|
|
281
|
+
print(f"\ntab({tab_index}): {title}\nurl: {url}\n")
|
|
282
|
+
|
|
283
|
+
|
|
222
284
|
def save_downloaded_file(ctx, filename):
|
|
223
285
|
ctx.check_browser_initialized()
|
|
224
286
|
|
cucu/steps/button_steps.py
CHANGED
|
File without changes
|
cucu/steps/checkbox_steps.py
CHANGED
|
File without changes
|
cucu/steps/command_steps.py
CHANGED
|
File without changes
|
cucu/steps/draggable_steps.py
CHANGED
|
File without changes
|
cucu/steps/dropdown_steps.py
CHANGED
|
File without changes
|
cucu/steps/file_input_steps.py
CHANGED
|
File without changes
|
cucu/steps/filesystem_steps.py
CHANGED
|
File without changes
|
cucu/steps/flow_control_steps.py
CHANGED
|
File without changes
|
cucu/steps/image_steps.py
CHANGED
|
File without changes
|
cucu/steps/input_steps.py
CHANGED
|
File without changes
|
cucu/steps/link_steps.py
CHANGED
|
File without changes
|
cucu/steps/menuitem_steps.py
CHANGED
|
File without changes
|
cucu/steps/platform_steps.py
CHANGED
|
File without changes
|
cucu/steps/radio_steps.py
CHANGED
|
File without changes
|
cucu/steps/section_steps.py
CHANGED
|
File without changes
|
cucu/steps/step_utils.py
CHANGED
|
File without changes
|
cucu/steps/tab_steps.py
CHANGED
|
File without changes
|
cucu/steps/table_steps.py
CHANGED
|
File without changes
|
cucu/steps/tables.js
CHANGED
|
File without changes
|
cucu/steps/text_steps.py
CHANGED
|
File without changes
|
cucu/steps/variable_steps.py
CHANGED
|
File without changes
|
cucu/steps/webserver_steps.py
CHANGED
|
File without changes
|
cucu/utils.py
CHANGED
|
@@ -274,19 +274,6 @@ def take_screenshot(ctx, step_name, label="", element=None):
|
|
|
274
274
|
CONFIG["__STEP_SCREENSHOT_COUNT"] += 1
|
|
275
275
|
|
|
276
276
|
|
|
277
|
-
def get_tab_information(ctx):
|
|
278
|
-
driver = ctx.browser.driver
|
|
279
|
-
window_handles = driver.window_handles
|
|
280
|
-
current_window = driver.current_window_handle
|
|
281
|
-
window_handle_index = window_handles.index(current_window)
|
|
282
|
-
return {
|
|
283
|
-
"window_count": len(window_handles),
|
|
284
|
-
"current_index": window_handle_index,
|
|
285
|
-
"current_title": driver.title,
|
|
286
|
-
"current_url": driver.current_url,
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
|
|
290
277
|
def find_n_click_input_parent_label(ctx, input_element):
|
|
291
278
|
"""
|
|
292
279
|
Clicks the nearest parent <label> of an input elemnt (if input is visually hidden or size is zero).
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: cucu
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.4
|
|
4
4
|
Summary: Easy BDD web testing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Project-URL: Source Code, https://github.com/dominodatalab/cucu
|
|
5
|
+
Keywords: cucumber,selenium,behave
|
|
6
|
+
Author: Domino Data Lab, Rodney Gomes, Cedric Young, Xin Dong, Kavya, Kevin Garton, Joy Liao
|
|
8
7
|
Author-email: Domino Data Lab <open-source@dominodatalab.com>, Rodney Gomes <107359+rlgomes@users.noreply.github.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Xin Dong <104880864+ddl-xin@users.noreply.github.com>, Kavya <91882851+ddl-kavya@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Joy Liao <107583686+ddl-joy-liao@users.noreply.github.com>
|
|
9
|
-
Maintainer-email: Domino Data Lab <open-source@dominodatalab.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Brian Colby <92048365+ddl-bcolby@users.noreply.github.com>
|
|
10
8
|
License: The Clear BSD License
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Keywords: behave,cucumber,selenium
|
|
13
9
|
Classifier: Development Status :: 4 - Beta
|
|
14
10
|
Classifier: Environment :: Console
|
|
15
11
|
Classifier: Intended Audience :: Developers
|
|
16
12
|
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
-
Classifier: Natural Language :: English
|
|
18
13
|
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Natural Language :: English
|
|
19
15
|
Classifier: Topic :: Software Development :: Testing :: BDD
|
|
20
|
-
Requires-Python: >=3.10
|
|
21
16
|
Requires-Dist: beautifulsoup4~=4.13.3
|
|
22
17
|
Requires-Dist: behave==1.2.6
|
|
23
18
|
Requires-Dist: chromedriver-autoinstaller~=0.6.2
|
|
@@ -33,10 +28,16 @@ Requires-Dist: mpire~=2.10.2
|
|
|
33
28
|
Requires-Dist: psutil>=6.0
|
|
34
29
|
Requires-Dist: pygls~=1.3.1
|
|
35
30
|
Requires-Dist: pyyaml~=6.0.1
|
|
36
|
-
Requires-Dist: requests
|
|
31
|
+
Requires-Dist: requests>=2.31.0,<3.0.0
|
|
37
32
|
Requires-Dist: selenium~=4.31
|
|
38
33
|
Requires-Dist: tabulate~=0.9.0
|
|
39
34
|
Requires-Dist: tenacity>=9.0
|
|
35
|
+
Maintainer: Domino Data Lab, Cedric Young, Kevin Garton, Brian Colby
|
|
36
|
+
Maintainer-email: Domino Data Lab <open-source@dominodatalab.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Brian Colby <92048365+ddl-bcolby@users.noreply.github.com>
|
|
37
|
+
Requires-Python: >=3.10
|
|
38
|
+
Project-URL: Download, https://pypi.org/project/cucu/
|
|
39
|
+
Project-URL: Homepage, https://github.com/dominodatalab/cucu/wiki
|
|
40
|
+
Project-URL: Source Code, https://github.com/dominodatalab/cucu
|
|
40
41
|
Description-Content-Type: text/markdown
|
|
41
42
|
|
|
42
43
|
[](https://pypi.org/project/cucu/)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
cucu/__init__.py,sha256=62db9a8ec2418f7fc380da328077a7f602a88de405e76dce736ee4c82533a06d,1013
|
|
2
|
+
cucu/ansi_parser.py,sha256=ff24e5aabe8aaee2ecaa0591e819292540b76e6950cbff496e4bb1171e89adba,2213
|
|
3
|
+
cucu/behave_tweaks.py,sha256=32a20bf410c732f9b25f2ce45466c3df077c20fdfcffca60a7734f1835ae766f,6873
|
|
4
|
+
cucu/browser/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
|
5
|
+
cucu/browser/core.py,sha256=23172aafc978c6c873756e0029c9752241fdf311f0458b1bb78b2757bc140e5a,2692
|
|
6
|
+
cucu/browser/frames.py,sha256=216ee4cd1267e4f91b31aa2f21e94078258ef93fb6b0e4f0a9a601c3ed3e2ca5,3545
|
|
7
|
+
cucu/browser/selenium.py,sha256=7940b60d9921508662ef4b154da344ff40216a719371ecb1fe908b213ecf37aa,13299
|
|
8
|
+
cucu/browser/selenium_tweaks.py,sha256=a1422159584165b73daac99050932922bf6e5162b1b60641727c92594e98b6d9,879
|
|
9
|
+
cucu/cli/__init__.py,sha256=b975f9c951b59289c9fc835d96b71f320f93b7fe7f712c76f4477c47cbfdd3c0,62
|
|
10
|
+
cucu/cli/core.py,sha256=b00bd1222ff671de0e42228a21293b59e6f9faee4a58ad4335b6b2a9abfcb696,26915
|
|
11
|
+
cucu/cli/run.py,sha256=b9939fd5ce730174f44e1690beb6f99205c6c25f34940b476939b9743c289678,5909
|
|
12
|
+
cucu/cli/steps.py,sha256=960e62b551ff0bed3fdd17a5597bfd5f6a90507820771bb12c21b01f99756dfe,4210
|
|
13
|
+
cucu/cli/thread_dumper.py,sha256=6775e7612c62771ea9aa3950ef3bbe4ca3086195a4e33f5ce582dd3e471e9a25,1593
|
|
14
|
+
cucu/config.py,sha256=b0096acc17efe448b00b89ba04a70c264224906228cf67867760be2643f27f24,14305
|
|
15
|
+
cucu/edgedriver_autoinstaller/README.md,sha256=b43900588aa045d0a3b7ea17d6762a8a4202fc57e2384336fa97394b955b44ba,84
|
|
16
|
+
cucu/edgedriver_autoinstaller/__init__.py,sha256=7e8eb12493ef71ce57be78bc7a95dfc43a0fc491f9fdbe959368c3f494f07d1b,969
|
|
17
|
+
cucu/edgedriver_autoinstaller/utils.py,sha256=891293c30efb086693027b6dfd00efc6528fc69314e28b71f7939e0fdee485c3,6802
|
|
18
|
+
cucu/environment.py,sha256=353aaf8dd747aefe133e1f4536aab9c67c2adb5a297f91eb29925bdce8b6720e,9950
|
|
19
|
+
cucu/external/jquery/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
|
|
20
|
+
cucu/formatter/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
|
21
|
+
cucu/formatter/cucu.py,sha256=2424ab0e3b9933b8aef37b35fa436e3f6bac0e43b1fd4e94d2fd797959a6cab2,9298
|
|
22
|
+
cucu/formatter/json.py,sha256=f17d67de3040973bfcac2fd2f89a7e5377233e7bc6cd733a3018c0b9d82b00f5,10596
|
|
23
|
+
cucu/formatter/junit.py,sha256=689f5d18b6da98c1fec148bf9ac17aebffbf73f614ab4efef3fc023448d48eee,10129
|
|
24
|
+
cucu/fuzzy/__init__.py,sha256=71ee0946668117aa1a6fa53df506e9b7b0eb0f77a5847df6ffff8d0fa7f0e717,104
|
|
25
|
+
cucu/fuzzy/core.py,sha256=b6640a5ff362fb6a21a31cdcb51520db1ef331e116f0c949266a54dcf7d39af4,3153
|
|
26
|
+
cucu/fuzzy/fuzzy.js,sha256=79ef93cad2122f2528edc30092e548e6a6cb5ddb747a81567334eca14e336218,11618
|
|
27
|
+
cucu/helpers.py,sha256=97f60c99bb978ed051a3e30447ea9eeaca142328edd1ecb60684a05ace336300,36285
|
|
28
|
+
cucu/hooks.py,sha256=dd9d666af538d97310d0367b9555b04c1f812581d1c9850ecf33ad9a4748b28c,7117
|
|
29
|
+
cucu/init_data/.gitignore,sha256=160328be6391746812bd11fa12814ae9c87f13208cc90a1feb5c9a9971b43f9d,137
|
|
30
|
+
cucu/init_data/README.md,sha256=33d9f1dc94c9c46904c47bb2efe24919c3e0951a8c144188d6b5f4c77e908a74,1596
|
|
31
|
+
cucu/init_data/cucurc.yml,sha256=de0bb38f772ed67d040da32ccef1431ac0208467de9aaba15c181feadc184466,424
|
|
32
|
+
cucu/init_data/data/www/example.html,sha256=481d14d459f52f6052d7d4dadd024a4007fd3a5321e2671b7849f6deb13adc30,788
|
|
33
|
+
cucu/init_data/features/cucurc.yml,sha256=38874ae9f6c3f1a2979b749dfeba1ee7f9446fc3a98a971907cd53f3a60ad44d,291
|
|
34
|
+
cucu/init_data/features/environment.py,sha256=b87bbe2223f2e18a1f93b47c6000070d398d288d249e8e889ff03cd06940365c,3021
|
|
35
|
+
cucu/init_data/features/example.feature,sha256=7fdf580dd6b09e2cece1c99425828d85fa5c821668a55adfe9742d08c7958dfe,1010
|
|
36
|
+
cucu/init_data/features/lint_rules/sid.yaml,sha256=b8d61bddfe7c5498912b3cfb6909d73ba8241f04d4d5899cd5e8b7a59a336bd5,877
|
|
37
|
+
cucu/init_data/features/steps/__init__.py,sha256=accdb9d8a9f99c44a88cf96d35ca7263d802c607b0984f5491c454ed41b3e677,267
|
|
38
|
+
cucu/init_data/features/steps/my_steps.py,sha256=d51722bb637489a929f5c00015c4661950386ce56a219248cf10898f8ca56440,804
|
|
39
|
+
cucu/language_server/__init__.py,sha256=2143bb157a510e0bc49a58d2b81fd6a53fc1a0145d806ee5853045594c26311f,75
|
|
40
|
+
cucu/language_server/core.py,sha256=99409d924e3ce257655d10bb85098b2971a7437ecdba6c2e111a8d644c8250de,3532
|
|
41
|
+
cucu/lint/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
|
42
|
+
cucu/lint/linter.py,sha256=11e794f431cbe2cd8c24382525bd66f305efe2ea2563b5c081f8272d8d47aa1f,13246
|
|
43
|
+
cucu/lint/rules/format.yaml,sha256=1a6eccc7f2a72fab3c10ec8a1ad65906044424faef8aff85b98cf26b7b7257f1,3168
|
|
44
|
+
cucu/logger.py,sha256=63878798d142a61a971335100fe0c9f1db1aa9336dab199a29209da3ae8e73e8,3349
|
|
45
|
+
cucu/matcher/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
|
46
|
+
cucu/matcher/core.py,sha256=a368f834d18e459d01b4711b053784d93fef8ba109956564ae33a84b62fb50d9,1032
|
|
47
|
+
cucu/page_checks.py,sha256=096d40a88c59eebacbc6991ff27105c1cc3a6a69e83774dbf9a72837c76ade0d,2179
|
|
48
|
+
cucu/reporter/__init__.py,sha256=9d2da5229e378227eca480e089e492dddcc132f9ca7ddfbe3bc3dbdd14ebe321,71
|
|
49
|
+
cucu/reporter/external/bootstrap.min.css,sha256=787332f421b621664e6d4c1902435559ce834c876cdce6afcd482e0d8d15b08a,163874
|
|
50
|
+
cucu/reporter/external/bootstrap.min.js,sha256=799a0572727d3a86a7c34c8fb2b6770878972185015beeff84d36a721e74b0b2,48945
|
|
51
|
+
cucu/reporter/external/dataTables.bootstrap.min.css,sha256=0158d66fd792190d3eddfe16362554d697e4ca836fb6125d6b0fc8c4af58d9cd,10611
|
|
52
|
+
cucu/reporter/external/dataTables.bootstrap.min.js,sha256=1ff6491e3f74d9ea86a1c349623903dce06eb63ebc9fe4f63520639df5764289,4401
|
|
53
|
+
cucu/reporter/external/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
|
|
54
|
+
cucu/reporter/external/jquery.dataTables.min.js,sha256=5cd85a075b4139214c1eef7a052009a59389cdf6784992359f001b9f0af2d946,90265
|
|
55
|
+
cucu/reporter/external/popper.min.js,sha256=a52f7aa54d7bcaafa056ee0a050262dfc5694ae28dee8b4cac3429af37ff0d66,19188
|
|
56
|
+
cucu/reporter/favicon.png,sha256=f629172c09b37d0cf2d8d429b3ff0219a66883616f42b397f279d26747b55263,2161
|
|
57
|
+
cucu/reporter/html.py,sha256=3ac3069b0d8b46b74c254d7c454104f5afdd8bf9a73eb4fad00b601eee1ebb70,16677
|
|
58
|
+
cucu/reporter/templates/feature.html,sha256=2019301a2ba5fac44ee654fcabc5455cc509c75a30b0077561b743cf38928cac,3645
|
|
59
|
+
cucu/reporter/templates/flat.html,sha256=246b0cabe216cfa614a495fd85c37ae7ed791f1717dcd25c94e98c0ed5b71d91,2358
|
|
60
|
+
cucu/reporter/templates/index.html,sha256=2c5b61dd24bfffdf3cd4d2af3c8205767ad01087034d75af4e849628db63c8a2,2726
|
|
61
|
+
cucu/reporter/templates/layout.html,sha256=da20d16e6f1ab4ef268075a08a322f0c2ac130abdc3fa607ae6afde56b49884e,4561
|
|
62
|
+
cucu/reporter/templates/scenario.html,sha256=bd30c10d37ed146a1db4da337d5b7b3a5f9fa694ea3e1d5b5b7d7f10d7350964,10115
|
|
63
|
+
cucu/steps/__init__.py,sha256=b1e4a60120655aeebeeb06c56ef11b3f08a005c4578983f5f02e17ff6716f0d8,753
|
|
64
|
+
cucu/steps/base_steps.py,sha256=d1f3ef75a2a86a7f253002ab0e72b4fb3ac02e9c66d753f5cd5018e4237b8970,1893
|
|
65
|
+
cucu/steps/browser_steps.py,sha256=5e583f93bde8b1563918f158fcd063d922f6e4635cd5e319423b6711341d052d,12335
|
|
66
|
+
cucu/steps/button_steps.py,sha256=7a3deead66dd7df8bb1e29a63dbadd50191d2c803fc5871f2e5b2a385fb9ff9b,2713
|
|
67
|
+
cucu/steps/checkbox_steps.py,sha256=0761ca140faec2cac26b50e6cd2eeed68d571f5d9be41ccb3e0e6a635738e391,3386
|
|
68
|
+
cucu/steps/command_steps.py,sha256=9d509cf3e4c48ad7ad93ece1938cf5c1ad28c2a2d0c87790547e531e2a14c3e9,5094
|
|
69
|
+
cucu/steps/draggable_steps.py,sha256=96740b89ca7419925ac43fd09b63f5debb94640b25de6a6dc1a239f9243a5c9d,4655
|
|
70
|
+
cucu/steps/dropdown_steps.py,sha256=69bca41befa6efd9034382d4d6d9bbddf34b14f9ab2836afc85cc96f63180aed,15601
|
|
71
|
+
cucu/steps/file_input_steps.py,sha256=2cb300a3356971e2cc0fe909384f9ab8a1c07562db369ac7f1e09f550b8da068,5523
|
|
72
|
+
cucu/steps/filesystem_steps.py,sha256=f25dfb03ec8fc53e0ccdd8b524d4934a1664c32171812c2787a0b457e84cfd10,4741
|
|
73
|
+
cucu/steps/flow_control_steps.py,sha256=be55b40aca61552f4dbeb3a7a53f30492da780798edd9f3b1fdb22288430b00c,6365
|
|
74
|
+
cucu/steps/image_steps.py,sha256=e17e9b76e9ac2326dc241b9aa3cdd3511c56008b216720af2a2d6e4c9128cb59,941
|
|
75
|
+
cucu/steps/input_steps.py,sha256=4d842192691ef96e5d26de04b14f891e34709db77bcef5e78448f0e4f4385b1b,9679
|
|
76
|
+
cucu/steps/link_steps.py,sha256=3102f1ca309b885d9d3ac9a3e88aca2a545885aa898f10d43537f909abb8274c,1625
|
|
77
|
+
cucu/steps/menuitem_steps.py,sha256=f4995a3cee814a65b618f9a4e378311b2e52d37ac4b44c78284d2e0850648e4d,1133
|
|
78
|
+
cucu/steps/platform_steps.py,sha256=1bb1ed04c85d46ee7cfb6fcb7570b9ae424cf45d62bc676545af41cd388769a6,754
|
|
79
|
+
cucu/steps/radio_steps.py,sha256=17281434f084057ce6cc63072fc0d836d2def6ae2a8dec884e244b1fee4d6da8,5931
|
|
80
|
+
cucu/steps/section_steps.py,sha256=5de4af2e47fba3f548a15830cb1037ebef47ffd5c852200027a11b22a7ac8481,645
|
|
81
|
+
cucu/steps/step_utils.py,sha256=0a17743506cc9df004266424a1541131b5516c29c9201bd5787ec2997ac2326d,1417
|
|
82
|
+
cucu/steps/tab_steps.py,sha256=4d5572b648a1bc9d86610f5bc00b35095cdbfadc3352ad7540e36511b77ab8ed,1818
|
|
83
|
+
cucu/steps/table_steps.py,sha256=e5b053d8772e2f2fb027cbd4b1c86a9071040fefc63cf270a9da4b1654b87bd7,13744
|
|
84
|
+
cucu/steps/tables.js,sha256=3acd9aec5a3e720d375d5962ed44af72705569de0dee2757afe1c1bb374bbd54,945
|
|
85
|
+
cucu/steps/text_steps.py,sha256=263fc61e81de7a637055d50e76a71e840acda7b58cf96323963038c34a4b5eec,2576
|
|
86
|
+
cucu/steps/variable_steps.py,sha256=59272d1f7ff17318e28c63d8665c69f9fa02fd220000ab45fffb1a36d81925b9,2966
|
|
87
|
+
cucu/steps/webserver_steps.py,sha256=c169294af71231d8ac90f921e1caa57a95b1d6792f1294d4dad4574263c36f2a,1410
|
|
88
|
+
cucu/utils.py,sha256=60c04926b4065bb4da17e3a0d5cb4001af1150d48dcd0f602570f9930b2858c0,9464
|
|
89
|
+
cucu-1.2.4.dist-info/WHEEL,sha256=ab6157bc637547491fb4567cd7ddf26b04d63382916ca16c29a5c8e94c9c9ef7,79
|
|
90
|
+
cucu-1.2.4.dist-info/entry_points.txt,sha256=d7559122140cecbb949d0835940a1942836fbc1bd834dd666838104b8763c09a,40
|
|
91
|
+
cucu-1.2.4.dist-info/METADATA,sha256=848ee398aae88549ac768f9a21e9d05b52eb6f8e6a60dcffaaa28f81b1b5cb0e,16675
|
|
92
|
+
cucu-1.2.4.dist-info/RECORD,,
|
cucu-1.2.2.dist-info/RECORD
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
cucu/__init__.py,sha256=YtuajsJBj3_DgNoygHen9gKojeQF523Oc27kyCUzoG0,1013
|
|
2
|
-
cucu/ansi_parser.py,sha256=_yTlqr6KruLsqgWR6BkpJUC3bmlQy_9JbkuxFx6Jrbo,2213
|
|
3
|
-
cucu/behave_tweaks.py,sha256=MqIL9BDHMvmyXyzkVGbD3wd8IP38_8pgp3NPGDWudm8,6873
|
|
4
|
-
cucu/config.py,sha256=12SXNtBSnD3N6K9DnCDYHZDA4_Wrh4g7whdgHDKSuPw,14022
|
|
5
|
-
cucu/environment.py,sha256=Glhs2Gq2YGHYaIbhozljZse9Q2QkXK0jzPxnychBLGU,9996
|
|
6
|
-
cucu/helpers.py,sha256=l_YMmbuXjtBRo-MER-qe6soUIyjt0ey2BoSgWs4zYwA,36285
|
|
7
|
-
cucu/hooks.py,sha256=3Z1mavU42XMQ0DZ7lVWwTB-BJYHRyYUOzzOtmkdIsow,7117
|
|
8
|
-
cucu/logger.py,sha256=Y4eHmNFCphqXEzUQD-DJ8dsaqTNtqxmaKSCdo66Oc-g,3349
|
|
9
|
-
cucu/page_checks.py,sha256=CW1AqIxZ7rrLxpkf8nEFwcw6amnoN3Tb-acoN8dq3g0,2179
|
|
10
|
-
cucu/utils.py,sha256=-L0N-LdW1VxUEpzfSOiZ9nVUhKnYfb1ncE90CQWmQxw,9876
|
|
11
|
-
cucu/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
cucu/browser/core.py,sha256=5_eXBvYGv6egKnIbdtxLQsbkgQJWx9qWGl1vn4xYEw4,2357
|
|
13
|
-
cucu/browser/frames.py,sha256=IW7kzRJn5PkbMaovIelAeCWO-T-2sOTwqaYBw-0-LKU,3545
|
|
14
|
-
cucu/browser/selenium.py,sha256=oyXnf8jNPX3EqvaFYDhZuxoxGnK8cw__7CxMZTG1hfU,11603
|
|
15
|
-
cucu/browser/selenium_tweaks.py,sha256=oUIhWVhBZbc9qsmQUJMpIr9uUWKxtgZBcnySWU6Yttk,879
|
|
16
|
-
cucu/cli/__init__.py,sha256=uXX5yVG1konJ_INdlrcfMg-Tt_5_cSx29Ed8R8v908A,62
|
|
17
|
-
cucu/cli/core.py,sha256=sAvRIi_2cd4OQiKKISk7Web5-u5KWK1DNbayqav8tpY,26915
|
|
18
|
-
cucu/cli/run.py,sha256=uZOf1c5zAXT0ThaQvrb5kgXGwl80lAtHaTm5dDwolng,5909
|
|
19
|
-
cucu/cli/steps.py,sha256=lg5itVH_C-0_3RelWXv9X2qQUHggdxuxLCGwH5l1bf4,4210
|
|
20
|
-
cucu/cli/thread_dumper.py,sha256=Z3XnYSxidx6pqjlQ7zu-TKMIYZWk4z9c5YLdPkcemiU,1593
|
|
21
|
-
cucu/edgedriver_autoinstaller/README.md,sha256=tDkAWIqgRdCjt-oX1nYqikIC_FfiOEM2-pc5S5VbRLo,84
|
|
22
|
-
cucu/edgedriver_autoinstaller/__init__.py,sha256=fo6xJJPvcc5Xvni8epXfxDoPxJH5_b6Vk2jD9JTwfRs,969
|
|
23
|
-
cucu/edgedriver_autoinstaller/utils.py,sha256=iRKTww77CGaTAntt_QDvxlKPxpMU4otx95OeD97khcM,6802
|
|
24
|
-
cucu/external/jquery/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
|
|
25
|
-
cucu/formatter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
cucu/formatter/cucu.py,sha256=JCSrDjuZM7iu83s1-kNuP2usDkOx_U6U0v15eVmmyrI,9298
|
|
27
|
-
cucu/formatter/json.py,sha256=8X1n3jBAlzv8rC_S-Jp-U3cjPnvGzXM6MBjAudgrAPU,10596
|
|
28
|
-
cucu/formatter/junit.py,sha256=aJ9dGLbamMH-wUi_msF66_-_c_YUq07-8_wCNEjUju4,10129
|
|
29
|
-
cucu/fuzzy/__init__.py,sha256=ce4JRmaBF6oab6U99Qbpt7DrD3elhH32__-ND6fw5xc,104
|
|
30
|
-
cucu/fuzzy/core.py,sha256=tmQKX_Ni-2ohoxzctRUg2x7zMeEW8MlJJmpU3PfTmvQ,3153
|
|
31
|
-
cucu/fuzzy/fuzzy.js,sha256=ee-TytISLyUo7cMAkuVI5qbLXdt0eoFWczTsoU4zYhg,11618
|
|
32
|
-
cucu/init_data/.gitignore,sha256=FgMovmORdGgSvRH6EoFK6ch_EyCMyQof61yamXG0P50,137
|
|
33
|
-
cucu/init_data/README.md,sha256=M9nx3JTJxGkExHuy7-JJGcPglRqMFEGI1rX0x36QinQ,1596
|
|
34
|
-
cucu/init_data/cucurc.yml,sha256=3guzj3cu1n0EDaMszvFDGsAghGfemquhXBgf6twYRGY,424
|
|
35
|
-
cucu/init_data/data/www/example.html,sha256=SB0U1Fn1L2BS19Ta3QJKQAf9OlMh4mcbeEn23rE63DA,788
|
|
36
|
-
cucu/init_data/features/cucurc.yml,sha256=OIdK6fbD8aKXm3Sd_roe5_lEb8OpipcZB81T86YK1E0,291
|
|
37
|
-
cucu/init_data/features/environment.py,sha256=uHu-IiPy4Yofk7R8YAAHDTmNKI0kno6In_A80GlANlw,3021
|
|
38
|
-
cucu/init_data/features/example.feature,sha256=f99YDdawnizs4cmUJYKNhfpcghZopVrf6XQtCMeVjf4,1010
|
|
39
|
-
cucu/init_data/features/lint_rules/sid.yaml,sha256=uNYb3f58VJiRKzz7aQnXO6gkHwTU1Ymc1ei3pZoza9U,877
|
|
40
|
-
cucu/init_data/features/steps/__init__.py,sha256=rM252Kn5nESojPltNcpyY9gCxgewmE9UkcRU7UGz5nc,267
|
|
41
|
-
cucu/init_data/features/steps/my_steps.py,sha256=1Rciu2N0iakp9cAAFcRmGVA4bOVqIZJIzxCJj4ylZEA,804
|
|
42
|
-
cucu/language_server/__init__.py,sha256=IUO7FXpRDgvEmljSuB_WpT_BoBRdgG7lhTBFWUwmMR8,75
|
|
43
|
-
cucu/language_server/core.py,sha256=mUCdkk484ldlXRC7hQmLKXGnQ37NumwuERqNZEyCUN4,3532
|
|
44
|
-
cucu/lint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
-
cucu/lint/linter.py,sha256=EeeU9DHL4s2MJDglJb1m8wXv4uolY7XAgfgnLY1Hqh8,13246
|
|
46
|
-
cucu/lint/rules/format.yaml,sha256=Gm7Mx_KnL6s8EOyKGtZZBgREJPrviv-FuYzya3tyV_E,3168
|
|
47
|
-
cucu/matcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
-
cucu/matcher/core.py,sha256=o2j4NNGORZ0BtHEbBTeE2T_vi6EJlWVkrjOoS2L7UNk,1032
|
|
49
|
-
cucu/reporter/__init__.py,sha256=nS2lIp43gifspIDgieSS3dzBMvnKfd--O8Pb3RTr4yE,71
|
|
50
|
-
cucu/reporter/favicon.png,sha256=9ikXLAmzfQzy2NQps_8CGaZog2FvQrOX8nnSZ0e1UmM,2161
|
|
51
|
-
cucu/reporter/html.py,sha256=OsMGmw2LRrdMJU18RUEE9a_di_mnPrT60AtgHu4eu3A,16677
|
|
52
|
-
cucu/reporter/external/bootstrap.min.css,sha256=eHMy9CG2IWZObUwZAkNVWc6DTIds3OavzUguDY0VsIo,163874
|
|
53
|
-
cucu/reporter/external/bootstrap.min.js,sha256=eZoFcnJ9Ooanw0yPsrZ3CHiXIYUBW-7_hNNqch50sLI,48945
|
|
54
|
-
cucu/reporter/external/dataTables.bootstrap.min.css,sha256=AVjWb9eSGQ0-3f4WNiVU1pfkyoNvthJdaw_IxK9Y2c0,10611
|
|
55
|
-
cucu/reporter/external/dataTables.bootstrap.min.js,sha256=H_ZJHj902eqGocNJYjkD3OButj68n-T2NSBjnfV2Qok,4401
|
|
56
|
-
cucu/reporter/external/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
|
|
57
|
-
cucu/reporter/external/jquery.dataTables.min.js,sha256=XNhaB1tBOSFMHu96BSAJpZOJzfZ4SZI1nwAbnwry2UY,90265
|
|
58
|
-
cucu/reporter/external/popper.min.js,sha256=pS96pU17yq-gVu4KBQJi38VpSuKN7otMrDQprzf_DWY,19188
|
|
59
|
-
cucu/reporter/templates/feature.html,sha256=IBkwGiul-sRO5lT8q8VFXMUJx1owsAd1YbdDzziSjKw,3645
|
|
60
|
-
cucu/reporter/templates/flat.html,sha256=JGsMq-IWz6YUpJX9hcN65-15HxcX3NJclOmMDtW3HZE,2358
|
|
61
|
-
cucu/reporter/templates/index.html,sha256=LFth3SS__9881NKvPIIFdnrQEIcDTXWvToSWKNtjyKI,2726
|
|
62
|
-
cucu/reporter/templates/layout.html,sha256=2iDRbm8atO8mgHWgijIvDCrBMKvcP6YHrmr95WtJiE4,4561
|
|
63
|
-
cucu/reporter/templates/scenario.html,sha256=Eomxn7_gxrOeWPXKQrnUt3pgKlWeC3PTiM04LMtDI44,10113
|
|
64
|
-
cucu/steps/__init__.py,sha256=seSmASBlWu6-6wbFbvEbPwigBcRXiYP18C4X_2cW8Ng,753
|
|
65
|
-
cucu/steps/base_steps.py,sha256=0fPvdaKoan8lMAKrDnK0-zrALpxm11P1zVAY5CN7iXA,1893
|
|
66
|
-
cucu/steps/browser_steps.py,sha256=RJmQcvA7S5toiJSBCOzhwZwFP4YCA4cxO36HSk4wiHY,10381
|
|
67
|
-
cucu/steps/button_steps.py,sha256=ej3urWbdffi7HimmPbrdUBkdLIA_xYcfLlsqOF-5_5s,2713
|
|
68
|
-
cucu/steps/checkbox_steps.py,sha256=B2HKFA-uwsrCa1DmzS7u1o1XH12b5BzLPg5qY1c445E,3386
|
|
69
|
-
cucu/steps/command_steps.py,sha256=nVCc8-TEitetk-zhk4z1wa0owqLQyHeQVH5THioUw-k,5094
|
|
70
|
-
cucu/steps/draggable_steps.py,sha256=lnQLicp0GZJaxD_Qm2P13ruUZAsl3mptwaI5-SQ6XJ0,4655
|
|
71
|
-
cucu/steps/dropdown_steps.py,sha256=abykG--m79kDQ4LU1tm73fNLFPmrKDavyFzJb2MYCu0,15601
|
|
72
|
-
cucu/steps/file_input_steps.py,sha256=LLMAozVpceLMD-kJOE-auKHAdWLbNprH8eCfVQuNoGg,5523
|
|
73
|
-
cucu/steps/filesystem_steps.py,sha256=8l37A-yPxT4Mzdi1JNSTShZkwyFxgSwnh6C0V-hM_RA,4741
|
|
74
|
-
cucu/steps/flow_control_steps.py,sha256=vlW0CsphVS9NvrOnpT8wSS2ngHmO3Z87H9siKIQwsAw,6365
|
|
75
|
-
cucu/steps/image_steps.py,sha256=4X6bdumsIybcJBuao83TURxWAIshZyCvKi1uTJEoy1k,941
|
|
76
|
-
cucu/steps/input_steps.py,sha256=TYQhkmke-W5dJt4EsU-JHjRwnbd7zvXnhEjw5PQ4Wxs,9679
|
|
77
|
-
cucu/steps/link_steps.py,sha256=MQLxyjCbiF2dOsmj6IrKKlRYhaqJjxDUNTf5Cau4J0w,1625
|
|
78
|
-
cucu/steps/menuitem_steps.py,sha256=9JlaPO6BSmW2GPmk43gxGy5S03rEtEx4KE0uCFBkjk0,1133
|
|
79
|
-
cucu/steps/platform_steps.py,sha256=G7HtBMhdRu58-2_LdXC5rkJM9F1ivGdlRa9BzTiHaaY,754
|
|
80
|
-
cucu/steps/radio_steps.py,sha256=FygUNPCEBXzmzGMHL8DYNtLe9q4qjeyITiRLH-5Nbag,5931
|
|
81
|
-
cucu/steps/section_steps.py,sha256=XeSvLkf7o_VIoVgwyxA36-9H_9XIUiAAJ6EbIqeshIE,645
|
|
82
|
-
cucu/steps/step_utils.py,sha256=Chd0NQbMnfAEJmQkoVQRMbVRbCnJIBvVeH7CmXrCMm0,1417
|
|
83
|
-
cucu/steps/tab_steps.py,sha256=TVVytkihvJ2GYQ9bwAs1CVzb-twzUq11QONlEbd6uO0,1818
|
|
84
|
-
cucu/steps/table_steps.py,sha256=5bBT2HcuLy-wJ8vUschqkHEED-_GPPJwqdpLFlS4e9c,13744
|
|
85
|
-
cucu/steps/tables.js,sha256=Os2a7Fo-cg03XVli7USvcnBVad4N7idXr-HBuzdLvVQ,945
|
|
86
|
-
cucu/steps/text_steps.py,sha256=Jj_GHoHeemNwVdUOdqcehArNp7WM-WMjljA4w0pLXuw,2576
|
|
87
|
-
cucu/steps/variable_steps.py,sha256=WSctH3_xcxjijGPYZlxp-foC_SIAAKtF__saNtgZJbk,2966
|
|
88
|
-
cucu/steps/webserver_steps.py,sha256=wWkpSvcSMdiskPkh4cqlepWx1nkvEpTU2tRXQmPDbyo,1410
|
|
89
|
-
cucu-1.2.2.dist-info/METADATA,sha256=VSlGlTNi1IGBXUz3pB6Bx7MvwUgJ5bMw2LESVv0HKqs,16535
|
|
90
|
-
cucu-1.2.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
91
|
-
cucu-1.2.2.dist-info/entry_points.txt,sha256=YEXTyEfIZbcV0GJ9R3Gfu3j6DcOJJK7_XHkJqE3Yiao,39
|
|
92
|
-
cucu-1.2.2.dist-info/licenses/LICENSE,sha256=WfgJYF9EaQoL_OeWr2Qd0MxhhFegDfzWSUmvDTwFxis,1721
|
|
93
|
-
cucu-1.2.2.dist-info/RECORD,,
|
cucu-1.2.2.dist-info/WHEEL
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
The Clear BSD License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 "Domino Data Lab <open-source@dominodatalab.com>"
|
|
4
|
-
All rights reserved.
|
|
5
|
-
|
|
6
|
-
Redistribution and use in source and binary forms, with or without
|
|
7
|
-
modification, are permitted (subject to the limitations in the disclaimer
|
|
8
|
-
below) provided that the following conditions are met:
|
|
9
|
-
|
|
10
|
-
* Redistributions of source code must retain the above copyright notice,
|
|
11
|
-
this list of conditions and the following disclaimer.
|
|
12
|
-
|
|
13
|
-
* Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
notice, this list of conditions and the following disclaimer in the
|
|
15
|
-
documentation and/or other materials provided with the distribution.
|
|
16
|
-
|
|
17
|
-
* Neither the name of the copyright holder nor the names of its
|
|
18
|
-
contributors may be used to endorse or promote products derived from this
|
|
19
|
-
software without specific prior written permission.
|
|
20
|
-
|
|
21
|
-
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
|
|
22
|
-
THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
23
|
-
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
24
|
-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
25
|
-
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
26
|
-
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
27
|
-
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
28
|
-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
29
|
-
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
30
|
-
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
31
|
-
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
32
|
-
POSSIBILITY OF SUCH DAMAGE.
|