我们使用 Selenium 和 Fitnesse 进行 UI 测试,我们打开 Firefox 并执行所有与 UI 相关的操作 - 单击、填充字段、按下按钮等。
作为我们当前测试框架的一部分,FitnesseRoot 定义了 SetUp/TearDown,以打开/销毁浏览器实例。所有套件和测试(大约 300 个)都使用 SetUp/TearDown 作为 UI 测试的一部分。
我正在尝试用 API 测试的新夹具替换我们的一项简单测试,因为 API 测试比 UI 测试快得多。测试本身运行良好,但这里的问题是,即使我的 REST 固定装置不需要浏览器实例,SetUp 也会打开它,TearDown 会尝试关闭它,但返回异常(因为正在执行的测试指向 API 驱动程序类,而 TearDown 中的方法属于 UI Driver 类)。
如上所述,我无法删除 SetUp/TearDown,因为它会影响 300 个测试用例。有什么方法可以阻止一项特定的测试使用 SetUp/TearDown?还是将 TearDown 指向 UI Driver Class,让测试不抛出异常?
SetUp
:
|import |
|com.myapplication.fitnesse.ui|
|com.myapplication.util.restclient.fixtures|
!define slim.flags {-s 200}
!|script |
|start| my UI driver class|${SERVER}|${PORT}|FIREFOX|${PAGE_PATH}.${PAGE_NAME}|${PROXYSERVER}|
|debug mode |false |
实际测试:
!define TEST_SYSTEM {slim}
| script | my API driver class | server ip:port | username | password|
| login |
| do something...|
TearDown
:
|script |
|logout |
|destroyDriver |