Best Python code snippet using behave
command_steps.py
Source:command_steps.py
...107 TEXT108 """109 '''110 assert context.text is not None, "ENSURE: multiline text is provided."111 step_command_output_should_contain(context)112 assert_that(context.command_result.returncode, equal_to(0))113@then(u'it should fail with')114def step_it_should_fail_with(context):115 '''116 EXAMPLE:117 ...118 when I run "behave ..."119 then it should fail with:120 """121 TEXT122 """123 '''124 assert context.text is not None, "ENSURE: multiline text is provided."125 step_command_output_should_contain(context)126 assert_that(context.command_result.returncode, is_not(equal_to(0)))127# -----------------------------------------------------------------------------128# STEPS FOR: Output Comparison129# -----------------------------------------------------------------------------130@then(u'the command output should contain "{text}"')131def step_command_output_should_contain_text(context, text):132 '''133 EXAMPLE:134 ...135 Then the command output should contain "TEXT"136 '''137 expected_text = text138 if "{__WORKDIR__}" in expected_text or "{__CWD__}" in expected_text:139 expected_text = textutil.template_substitute(text,140 __WORKDIR__ = posixpath_normpath(context.workdir),141 __CWD__ = posixpath_normpath(os.getcwd())142 )143 actual_output = context.command_result.output144 if DEBUG:145 print(u"expected:\n{0}".format(expected_text))146 print(u"actual:\n{0}".format(actual_output))147 textutil.assert_normtext_should_contain(actual_output, expected_text)148@then(u'the command output should not contain "{text}"')149def step_command_output_should_not_contain_text(context, text):150 '''151 EXAMPLE:152 ...153 then the command output should not contain "TEXT"154 '''155 expected_text = text156 if "{__WORKDIR__}" in text or "{__CWD__}" in text:157 expected_text = textutil.template_substitute(text,158 __WORKDIR__ = posixpath_normpath(context.workdir),159 __CWD__ = posixpath_normpath(os.getcwd())160 )161 actual_output = context.command_result.output162 if DEBUG:163 print(u"expected:\n{0}".format(expected_text))164 print(u"actual:\n{0}".format(actual_output))165 textutil.assert_normtext_should_not_contain(actual_output, expected_text)166@then(u'the command output should contain exactly "{text}"')167def step_command_output_should_contain_exactly_text(context, text):168 """169 Verifies that the command output of the last command contains the170 expected text.171 .. code-block:: gherkin172 When I run "echo Hello"173 Then the command output should contain "Hello"174 """175 expected_text = text176 if "{__WORKDIR__}" in text or "{__CWD__}" in text:177 expected_text = textutil.template_substitute(text,178 __WORKDIR__ = posixpath_normpath(context.workdir),179 __CWD__ = posixpath_normpath(os.getcwd())180 )181 actual_output = context.command_result.output182 textutil.assert_text_should_contain_exactly(actual_output, expected_text)183@then(u'the command output should not contain exactly "{text}"')184def step_command_output_should_not_contain_exactly_text(context, text):185 expected_text = text186 if "{__WORKDIR__}" in text or "{__CWD__}" in text:187 expected_text = textutil.template_substitute(text,188 __WORKDIR__ = posixpath_normpath(context.workdir),189 __CWD__ = posixpath_normpath(os.getcwd())190 )191 actual_output = context.command_result.output192 textutil.assert_text_should_not_contain_exactly(actual_output, expected_text)193@then(u'the command output should contain')194def step_command_output_should_contain(context):195 '''196 EXAMPLE:197 ...198 when I run "behave ..."199 then it should pass200 and the command output should contain:201 """202 TEXT203 """204 '''205 assert context.text is not None, "REQUIRE: multi-line text"206 step_command_output_should_contain_text(context, context.text)207@then(u'the command output should not contain')208def step_command_output_should_not_contain(context):...
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!!