cucu 1.2.6__tar.gz → 1.2.8__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.2.6 → cucu-1.2.8}/PKG-INFO +1 -1
- {cucu-1.2.6 → cucu-1.2.8}/pyproject.toml +1 -1
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/environment.py +12 -11
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/browser_steps.py +10 -0
- {cucu-1.2.6 → cucu-1.2.8}/README.md +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/ansi_parser.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/behave_tweaks.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/browser/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/browser/core.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/browser/frames.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/browser/selenium.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/browser/selenium_tweaks.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/cli/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/cli/core.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/cli/run.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/cli/steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/cli/thread_dumper.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/config.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/edgedriver_autoinstaller/README.md +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/edgedriver_autoinstaller/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/edgedriver_autoinstaller/utils.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/external/jquery/jquery-3.5.1.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/formatter/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/formatter/cucu.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/formatter/json.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/formatter/junit.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/fuzzy/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/fuzzy/core.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/fuzzy/fuzzy.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/helpers.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/hooks.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/.gitignore +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/README.md +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/cucurc.yml +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/data/www/example.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/cucurc.yml +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/environment.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/example.feature +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/lint_rules/sid.yaml +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/steps/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/init_data/features/steps/my_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/language_server/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/language_server/core.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/lint/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/lint/linter.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/lint/rules/format.yaml +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/logger.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/matcher/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/matcher/core.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/page_checks.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/bootstrap.min.css +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/bootstrap.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/dataTables.bootstrap.min.css +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/dataTables.bootstrap.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/jquery-3.5.1.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/jquery.dataTables.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/external/popper.min.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/favicon.png +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/html.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/templates/feature.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/templates/flat.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/templates/index.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/templates/layout.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/reporter/templates/scenario.html +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/__init__.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/base_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/button_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/checkbox_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/command_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/draggable_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/dropdown_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/file_input_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/filesystem_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/flow_control_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/image_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/input_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/link_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/menuitem_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/platform_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/radio_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/section_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/step_utils.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/tab_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/table_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/tables.js +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/text_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/variable_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/steps/webserver_steps.py +0 -0
- {cucu-1.2.6 → cucu-1.2.8}/src/cucu/utils.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import datetime
|
|
1
2
|
import json
|
|
2
3
|
import sys
|
|
3
4
|
import traceback
|
|
4
|
-
from datetime import datetime
|
|
5
5
|
from functools import partial
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
@@ -97,7 +97,7 @@ def before_scenario(ctx, scenario):
|
|
|
97
97
|
|
|
98
98
|
# reset the step timer dictionary
|
|
99
99
|
ctx.step_timers = {}
|
|
100
|
-
scenario.start_at = datetime.now().isoformat()[:-3]
|
|
100
|
+
scenario.start_at = datetime.datetime.now().isoformat()[:-3]
|
|
101
101
|
|
|
102
102
|
if config.CONFIG["CUCU_RESULTS_DIR"] is not None:
|
|
103
103
|
ctx.scenario_dir = ctx.feature_dir / ellipsize_filename(scenario.name)
|
|
@@ -199,7 +199,7 @@ def after_scenario(ctx, scenario):
|
|
|
199
199
|
yaml.safe_load(CONFIG.to_yaml_without_secrets())
|
|
200
200
|
)
|
|
201
201
|
|
|
202
|
-
scenario.end_at = datetime.now().isoformat()[:-3]
|
|
202
|
+
scenario.end_at = datetime.datetime.now().isoformat()[:-3]
|
|
203
203
|
|
|
204
204
|
|
|
205
205
|
def download_mht_data(ctx):
|
|
@@ -232,7 +232,7 @@ def download_browser_log(ctx):
|
|
|
232
232
|
|
|
233
233
|
def before_step(ctx, step):
|
|
234
234
|
step.step_run_id = generate_short_id()
|
|
235
|
-
step.start_at = datetime.now().isoformat()[:-3]
|
|
235
|
+
step.start_at = datetime.datetime.now().isoformat()[:-3]
|
|
236
236
|
|
|
237
237
|
sys.stdout.captured()
|
|
238
238
|
sys.stderr.captured()
|
|
@@ -266,11 +266,11 @@ def after_step(ctx, step):
|
|
|
266
266
|
else:
|
|
267
267
|
step.debug_output = ""
|
|
268
268
|
|
|
269
|
-
step.end_at = datetime.now().isoformat()[:-3]
|
|
269
|
+
step.end_at = datetime.datetime.now().isoformat()[:-3]
|
|
270
270
|
|
|
271
271
|
# calculate duration from ISO timestamps
|
|
272
|
-
start_at = datetime.fromisoformat(step.start_at)
|
|
273
|
-
end_at = datetime.fromisoformat(step.end_at)
|
|
272
|
+
start_at = datetime.datetime.fromisoformat(step.start_at)
|
|
273
|
+
end_at = datetime.datetime.fromisoformat(step.end_at)
|
|
274
274
|
ctx.previous_step_duration = (end_at - start_at).total_seconds()
|
|
275
275
|
|
|
276
276
|
# when set this means we're running in parallel mode using --workers and
|
|
@@ -331,12 +331,13 @@ def after_step(ctx, step):
|
|
|
331
331
|
step.browser_logs = "\n".join(browser_logs)
|
|
332
332
|
|
|
333
333
|
tab_info = ctx.browser.get_tab_info()
|
|
334
|
-
all_tabs = ctx.browser.get_all_tabs_info()
|
|
335
334
|
|
|
336
335
|
browser_info = {
|
|
337
|
-
"
|
|
338
|
-
"
|
|
336
|
+
"tab_count": tab_info["tab_count"],
|
|
337
|
+
"tab_number": tab_info["index"] + 1,
|
|
338
|
+
"tab_title": tab_info["title"],
|
|
339
|
+
"tab_url": tab_info["url"],
|
|
339
340
|
"browser_type": ctx.browser.driver.name,
|
|
340
341
|
}
|
|
341
342
|
|
|
342
|
-
step.browser_info =
|
|
343
|
+
step.browser_info = browser_info
|
|
@@ -163,6 +163,16 @@ def navigate_to_the_url(ctx, url):
|
|
|
163
163
|
ctx.browser.navigate(url)
|
|
164
164
|
|
|
165
165
|
|
|
166
|
+
@step('I save the current browser url to the variable "{variable}"')
|
|
167
|
+
def save_current_browser_url_to_variable(ctx, variable):
|
|
168
|
+
ctx.check_browser_initialized()
|
|
169
|
+
current_url = ctx.browser.get_current_url()
|
|
170
|
+
config.CONFIG[variable] = current_url
|
|
171
|
+
logger.debug(
|
|
172
|
+
f"saved current browser url {current_url} to variable {variable}"
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
|
|
166
176
|
@step("I switch to the previous browser")
|
|
167
177
|
def switch_to_previous_browser(ctx):
|
|
168
178
|
browser_index = ctx.browsers.index(ctx.browser)
|
|
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
|