Best Python code snippet using behave
command_steps.py
Source:command_steps.py
...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):209 '''210 EXAMPLE:211 ...212 when I run "behave ..."213 then it should pass214 and the command output should not contain:215 """216 TEXT217 """218 '''219 assert context.text is not None, "REQUIRE: multi-line text"220 step_command_output_should_not_contain_text(context, context.text.strip())...
ansi_steps.py
Source:ansi_steps.py
...8# ANSI CONTROL SEQUENCE INTRODUCER (CSI).9CSI = u"\x1b["10@then(u'the command output should contain ANSI escape sequences')11def step_command_ouput_should_not_contain_ansi_sequences(context):12 step_command_output_should_contain_text(context, CSI)13@then(u'the command output should not contain any ANSI escape sequences')14def step_command_ouput_should_not_contain_ansi_sequences(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!!