在 Protractor 中连续清理 运行 个规范文件
Cleanup for running spec files in series in Protractor
我 运行 多个规格使用量角器配置文件如下:
...
specs: [abc.js , xyz.js]
...
abc.js
完成后,我想将我的应用程序重置为初始状态,下一个规范 xyz.js
可以从该初始状态开始。
Protractor 中是否有明确定义的方法?我正在使用 Jasmine 作为测试框架。
你可以使用这样的东西:
specs: ['*.js']
但我建议您使用后缀分隔规格,例如 abc-spec.js
和 xyz-spec.js
。因此你的规格将是这样的:
specs: ['*-spec.js']
如果您将配置文件与 tests/spec 文件放在同一文件夹中,这样做是为了避免配置文件被 'run'/测试。
还有一个缺点是测试将按 0 -> 9
和 A -> Z
顺序进行 运行。例如。 abc-spec.js
先 运行 然后 xyz-spec.js
。如果你想定义你的自定义执行顺序,你可以在你的规范文件的名称前加上前缀,例如:00-xyz-spec.js
和 01-abc-spec.js
.
要重新启动应用程序,遗憾的是没有通用方法 (source),但您需要变通才能实现它。使用像
这样的东西
browser.get('http://localhost:3030/');
browser.waitForAngular();
每当您需要重新加载您的应用程序时。它将强制重新加载页面。但是,如果您的应用使用 cookie
,您还需要将其清除以使其完全重置。
我使用了一种不同的方法,它对我有用。在我的第一个规范中,我添加了注销测试用例,它从应用程序注销并到达登录页面,只需在再次登录之前清除 cookie,使用以下方法:
browser.driver.manage().deleteAllCookies();
也可以在配置文件中指定名为restartBrowserBetweenTests
的标志。但是,量角器团队发出了有效警告:
// If [set to] true, protractor will restart the browser between each test.
// CAUTION: This will cause your tests to slow down drastically.
如果不关心速度损失,这可能会有所帮助。
如果以上方法没有帮助,并且您绝对想确保应用程序(和浏览器!)的状态在规格之间是干净的,您需要推出自己的 shellscript,它收集所有 *_spec.js
文件和调用 protractor --specs [currentSpec from a spec list/test suite]
.
我 运行 多个规格使用量角器配置文件如下:
...
specs: [abc.js , xyz.js]
...
abc.js
完成后,我想将我的应用程序重置为初始状态,下一个规范 xyz.js
可以从该初始状态开始。
Protractor 中是否有明确定义的方法?我正在使用 Jasmine 作为测试框架。
你可以使用这样的东西:
specs: ['*.js']
但我建议您使用后缀分隔规格,例如 abc-spec.js
和 xyz-spec.js
。因此你的规格将是这样的:
specs: ['*-spec.js']
如果您将配置文件与 tests/spec 文件放在同一文件夹中,这样做是为了避免配置文件被 'run'/测试。
还有一个缺点是测试将按 0 -> 9
和 A -> Z
顺序进行 运行。例如。 abc-spec.js
先 运行 然后 xyz-spec.js
。如果你想定义你的自定义执行顺序,你可以在你的规范文件的名称前加上前缀,例如:00-xyz-spec.js
和 01-abc-spec.js
.
要重新启动应用程序,遗憾的是没有通用方法 (source),但您需要变通才能实现它。使用像
这样的东西browser.get('http://localhost:3030/');
browser.waitForAngular();
每当您需要重新加载您的应用程序时。它将强制重新加载页面。但是,如果您的应用使用 cookie
,您还需要将其清除以使其完全重置。
我使用了一种不同的方法,它对我有用。在我的第一个规范中,我添加了注销测试用例,它从应用程序注销并到达登录页面,只需在再次登录之前清除 cookie,使用以下方法:
browser.driver.manage().deleteAllCookies();
也可以在配置文件中指定名为restartBrowserBetweenTests
的标志。但是,量角器团队发出了有效警告:
// If [set to] true, protractor will restart the browser between each test.
// CAUTION: This will cause your tests to slow down drastically.
如果不关心速度损失,这可能会有所帮助。
如果以上方法没有帮助,并且您绝对想确保应用程序(和浏览器!)的状态在规格之间是干净的,您需要推出自己的 shellscript,它收集所有 *_spec.js
文件和调用 protractor --specs [currentSpec from a spec list/test suite]
.