在执行当前测试用例之前,可能需要执行特定的测试用例吗?
我的测试用例被组织在几个文件夹中,测试可能需要执行放在另一个文件夹中的另一个测试(参见下图)。
有什么建议吗?
答案 0 :(得分:1)
如果测试用例位于不同的文件中,除了重新组织测试之外,没有什么可以做的。
您可以控制套件的运行顺序,并且可以控制文件中测试的顺序,但是您无法控制文件之间的测试顺序。
最佳实践表明,测试应该是独立的,而不是依赖于其他测试。在实践中可能很困难,但至少你应该努力使测试套件彼此独立。
答案 1 :(得分:0)
这不是一个好的/推荐/可能的方式。
机器人框架不支持它,并且有充分的理由。长期(甚至短期)创造这种依赖是不可持续的。
测试不应该依赖于其他测试。主要不是来自不同套件的其他测试。如果其他套件没有运行怎么办?
您可以通过两种方式解决此问题:
您可以定义名为
的文件__init__.robot
在目录中。文件中的套件设置和套件拆解将在基础文件夹中的任何内容之前运行。
您还可以将其他测试转换为关键字:
测试C只是调用一个使测试C运行的关键字,并且还更新一个全局变量(Test_C_already_runs)
测试B将使用然后问题
run if '${Test_C_already_runs}'=='true' Test_C_Keyword
您必须在此之前将值设置为Test_C_already_runs(作为变量导入的一部分,或作为某些suite_setup的一部分)以防止变量未找到错误。