【发布时间】:2019-07-19 21:49:27
【问题描述】:
我正在我的量角器框架中使用 PROTRACTOR-HTTP-CLIENT 工具测试 REST 服务。相同的框架还测试 UI 应用程序。我有不同的 UI 和 API 测试配置文件。
但我的问题是,当我测试 REST 服务时,chrome 浏览器正在启动,它没有用。我可以使用 headless chrome,但我想完全禁用浏览器启动。
在测试其余服务时,有什么方法可以禁用浏览器启动。
【问题讨论】:
标签: protractor
我正在我的量角器框架中使用 PROTRACTOR-HTTP-CLIENT 工具测试 REST 服务。相同的框架还测试 UI 应用程序。我有不同的 UI 和 API 测试配置文件。
但我的问题是,当我测试 REST 服务时,chrome 浏览器正在启动,它没有用。我可以使用 headless chrome,但我想完全禁用浏览器启动。
在测试其余服务时,有什么方法可以禁用浏览器启动。
【问题讨论】:
标签: protractor
我不认为这是可以实现的。 webdriver 会话在量角器初始化期间的自动钩子阶段之一触发,可能是 onPrepare 钩子。这个钩子功能将始终被执行,并且在它发生之前无法覆盖它。
您可以做的是在测试开始时调用 browser.quit() 以结束会话,但据我所知,没有办法阻止它初始化。
【讨论】:
我在我的项目中使用 typescript 进行了相同的设置。对于 Api 测试,我有一个单独的 jasmine.json 文件和 npm 脚本“jasmine-ts --config=jasmine.json”。这应该可以帮助您避免初始化浏览器并仅运行 api 测试。基本上不是使用量角器运行测试,而是直接使用 jasmine 框架运行测试。 这就是我的 jasmine.json 文件的外观:
{
"spec_dir": "specs",
"spec_files": [
"api/*[sS]pec.ts"
],
"helpers": [
"init.ts"
],
"stopSpecOnExpectationFailure": false,
"random": false
}
【讨论】: