我们正在使用RobotFramework实现自动化。在我们的一个python模块中,我们希望在python代码中使用PASS Execution传递测试状态。
我尝试使用提升PassExecution但我得到的只是一条消息,但测试用例继续而没有停止。此外,我尝试调用关键字pass_execution但看到相同的行为。
任何人都可以让我知道如何实现它吗?
这是我的代码
def fetchData(productType , attributes=[]):
result_Array = fetch_url_response(productType , attributes)
iterator = 1
data_List = list()
while(iterator < len(result_Array)):
try:
data_List.append((result_Array[iterator])[1:11])
iterator = iterator + 1
except Exception as ex:
print ex
# Shuffles the List of data
random.shuffle(data_List)
print "Checking the data Length."
if len(data_List) < 1:
print "Length less than 1. Pass the Execution"
#call_keyword('pass_execution' , 'No data found for the criteria. Passing the test case')
raise PassExecution('No data found for the criteria. Passing the test case')
else:
data = data_List[0]
return data
答案 0 :(得分:0)
如果没有看到您的代码,就无法知道您做错了什么。
关键字有两种方式可以使测试立即以PASS状态停止:引发robot.errors.PassExecution
例外,或调用内置关键字pass_execution
。
以下是使用每种方法的两个关键字的示例:
from robot.libraries.BuiltIn import BuiltIn
from robot.errors import PassExecution
def custom_keyword_1():
BuiltIn().pass_execution("life is good")
def custom_keyword_2():
raise PassExecption("life is still good")
要测试它,请将其保存到名为`custom_keywords.py'的文件中,然后像这样使用它:
*** Settings ***
| Library | custom_keywords.py
*** Test cases ***
| Example 1
| | log | before calling the custom keyword
| | custom keyword 1
| | log | after calling the custom keyword
| Example 2
| | log | before calling the custom keyword
| | custom keyword 2
| | log | after calling the custom keyword
当您运行上述操作时,您应该看到第一条日志消息和“生活是好的”消息,但是您不会在每个测试中看到最终的日志消息,因为测试会立即以“通过”状态结束。