Best Python code snippet using behave
command_steps.py
Source:command_steps.py
...221 actual_output = context.command_result.output222 with on_assert_failed_print_details(actual_output, expected_text):223 textutil.assert_normtext_should_not_contain(actual_output, expected_text)224@then(u'the command output should contain "{text}" {count:d} times')225def step_command_output_should_contain_text_multiple_times(context, text, count):226 '''227 EXAMPLE:228 ...229 Then the command output should contain "TEXT" 3 times230 '''231 assert count >= 0232 expected_text = text233 if "{__WORKDIR__}" in expected_text or "{__CWD__}" in expected_text:234 expected_text = textutil.template_substitute(text,235 __WORKDIR__ = posixpath_normpath(context.workdir),236 __CWD__ = posixpath_normpath(os.getcwd())237 )238 actual_output = context.command_result.output239 with on_assert_failed_print_details(actual_output, expected_text):240 textutil.assert_normtext_should_contain_multiple_times(actual_output,241 expected_text,242 count)243@then(u'the command output should contain exactly "{text}"')244def step_command_output_should_contain_exactly_text(context, text):245 """246 Verifies that the command output of the last command contains the247 expected text.248 .. code-block:: gherkin249 When I run "echo Hello"250 Then the command output should contain "Hello"251 """252 expected_text = text253 if "{__WORKDIR__}" in text or "{__CWD__}" in text:254 expected_text = textutil.template_substitute(text,255 __WORKDIR__ = posixpath_normpath(context.workdir),256 __CWD__ = posixpath_normpath(os.getcwd())257 )258 actual_output = context.command_result.output259 textutil.assert_text_should_contain_exactly(actual_output, expected_text)260@then(u'the command output should not contain exactly "{text}"')261def step_command_output_should_not_contain_exactly_text(context, text):262 expected_text = text263 if "{__WORKDIR__}" in text or "{__CWD__}" in text:264 expected_text = textutil.template_substitute(text,265 __WORKDIR__ = posixpath_normpath(context.workdir),266 __CWD__ = posixpath_normpath(os.getcwd())267 )268 actual_output = context.command_result.output269 textutil.assert_text_should_not_contain_exactly(actual_output, expected_text)270@then(u'the command output should contain')271def step_command_output_should_contain(context):272 '''273 EXAMPLE:274 ...275 when I run "behave ..."276 then it should pass277 and the command output should contain:278 """279 TEXT280 """281 '''282 assert context.text is not None, "REQUIRE: multi-line text"283 step_command_output_should_contain_text(context, context.text)284@then(u'the command output should not contain')285def step_command_output_should_not_contain(context):286 '''287 EXAMPLE:288 ...289 when I run "behave ..."290 then it should pass291 and the command output should not contain:292 """293 TEXT294 """295 '''296 assert context.text is not None, "REQUIRE: multi-line text"297 step_command_output_should_not_contain_text(context, context.text.strip())298@then(u'the command output should contain {count:d} times')299def step_command_output_should_contain_multiple_times(context, count):300 '''301 EXAMPLE:302 ...303 when I run "behave ..."304 then it should pass305 and the command output should contain 2 times:306 """307 TEXT308 """309 '''310 assert context.text is not None, "REQUIRE: multi-line text"311 step_command_output_should_contain_text_multiple_times(context,312 context.text, count)313@then(u'the command output should contain exactly')314def step_command_output_should_contain_exactly_with_multiline_text(context):315 assert context.text is not None, "REQUIRE: multi-line text"316 step_command_output_should_contain_exactly_text(context, context.text)317@then(u'the command output should not contain exactly')318def step_command_output_should_contain_not_exactly_with_multiline_text(context):319 assert context.text is not None, "REQUIRE: multi-line text"320 step_command_output_should_not_contain_exactly_text(context, context.text)321# -----------------------------------------------------------------------------322# STEPS FOR: Directories323# -----------------------------------------------------------------------------324@step(u'I remove the directory "{directory}"')325def step_remove_directory(context, directory):...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!