cucu 1.3.17__tar.gz → 1.3.19__tar.gz
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-1.3.17 → cucu-1.3.19}/PKG-INFO +1 -1
- {cucu-1.3.17 → cucu-1.3.19}/pyproject.toml +1 -1
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/html.py +3 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/templates/scenario.html +1 -1
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/browser_steps.py +18 -0
- {cucu-1.3.17 → cucu-1.3.19}/README.md +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/ansi_parser.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/behave_tweaks.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/browser/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/browser/core.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/browser/frames.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/browser/selenium.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/browser/selenium_tweaks.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/cli/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/cli/core.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/cli/run.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/cli/steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/cli/thread_dumper.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/config.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/db.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/edgedriver_autoinstaller/README.md +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/edgedriver_autoinstaller/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/edgedriver_autoinstaller/utils.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/environment.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/external/jquery/jquery-3.5.1.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/formatter/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/formatter/cucu.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/formatter/json.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/formatter/junit.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/formatter/rundb.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/fuzzy/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/fuzzy/core.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/fuzzy/fuzzy.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/helpers.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/hooks.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/.gitignore +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/README.md +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/cucurc.yml +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/data/www/example.html +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/cucurc.yml +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/environment.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/example.feature +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/lint_rules/sid.yaml +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/steps/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/init_data/features/steps/my_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/language_server/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/language_server/core.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/lint/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/lint/linter.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/lint/rules/format.yaml +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/logger.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/matcher/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/matcher/core.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/page_checks.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/bootstrap.min.css +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/bootstrap.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/dataTables.bootstrap.min.css +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/dataTables.bootstrap.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/jquery-3.5.1.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/jquery.dataTables.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/manage_scenario_highlights.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/external/popper.min.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/favicon.png +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/templates/feature.html +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/templates/flat.html +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/templates/index.html +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/reporter/templates/layout.html +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/__init__.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/base_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/button_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/checkbox_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/command_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/draggable_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/dropdown_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/file_input_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/filesystem_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/flow_control_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/image_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/input_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/link_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/menuitem_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/platform_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/radio_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/section_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/step_utils.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/tab_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/table_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/tables.js +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/text_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/variable_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/steps/webserver_steps.py +0 -0
- {cucu-1.3.17 → cucu-1.3.19}/src/cucu/utils.py +0 -0
|
@@ -234,6 +234,9 @@ def generate(results: Path, basepath: Path):
|
|
|
234
234
|
f'Exception while trying to run sub_headers hook for scenario: "{scenario_dict["name"]}"\n{traceback.format_exc()}'
|
|
235
235
|
)
|
|
236
236
|
scenario_dict["sub_headers"] = "<br/>".join(sub_headers)
|
|
237
|
+
scenario_dict["steps"] = sorted(
|
|
238
|
+
scenario_dict["steps"], key=lambda x: x["seq"]
|
|
239
|
+
)
|
|
237
240
|
|
|
238
241
|
for step_dict in scenario_dict["steps"]:
|
|
239
242
|
# Handle section headings with different levels (# to ####)
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
{% for image in step['screenshots'] %}
|
|
153
153
|
<img class="mx-auto d-block img-fluid shadow bg-white rounded" id="{{ image['html_id'] }}" style="margin-bottom:15px" alt="{{ escape(image['label']) }}" title="{{ escape(image['label']) }}" src="{{ image['html_src'] }}"></img>
|
|
154
154
|
{% if image['highlight'] %}
|
|
155
|
-
<div class="step-image-highlight" id="{{ image['
|
|
155
|
+
<div class="step-image-highlight" id="{{ image['html_id']}}-highlight" height-ratio="{{ image['highlight']['height_ratio'] }}" width-ratio="{{ image['highlight']['width_ratio'] }}" top-ratio="{{ image['highlight']['top_ratio'] }}" left-ratio="{{ image['highlight']['left_ratio'] }}"></div>
|
|
156
156
|
{% endif %}
|
|
157
157
|
{% endfor %}
|
|
158
158
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import base64
|
|
2
2
|
import os
|
|
3
|
+
import re
|
|
3
4
|
|
|
4
5
|
from selenium.webdriver.common.keys import Keys
|
|
5
6
|
|
|
@@ -81,6 +82,23 @@ def wait_to_see_the_current_url_is(ctx, value):
|
|
|
81
82
|
retry(assert_url_is)(ctx, value)
|
|
82
83
|
|
|
83
84
|
|
|
85
|
+
def assert_url_matches(ctx, regex):
|
|
86
|
+
ctx.check_browser_initialized()
|
|
87
|
+
url = ctx.browser.get_current_url()
|
|
88
|
+
if not re.search(regex, url):
|
|
89
|
+
raise RuntimeError(f"current url {url} does not match {regex}")
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@step('I should see the current url matches "{regex}"')
|
|
93
|
+
def should_see_the_current_url_matches(ctx, regex):
|
|
94
|
+
assert_url_matches(ctx, regex)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@step('I wait to see the current url matches "{regex}"')
|
|
98
|
+
def wait_to_see_the_current_url_matches(ctx, regex):
|
|
99
|
+
retry(assert_url_matches)(ctx, regex)
|
|
100
|
+
|
|
101
|
+
|
|
84
102
|
@step('I save the current url to the variable "{variable}"')
|
|
85
103
|
def save_current_url_to_variable(ctx, variable):
|
|
86
104
|
ctx.check_browser_initialized()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|