角度cli +量角器+黄瓜 - 硒

时间:2017-02-25 07:27:47

标签: protractor cucumber angular-cli e2e-testing

我想知道是否可以使用量角器步骤运行黄瓜e2e测试的角度cli项目设置,而不使用selenium服务器。当我搜索这样的配置时,我只找到具有seleniumAddress设置的配置。

那么,没有它可以运行吗?

2 个答案:

答案 0 :(得分:4)

需要运行W3C WebDriver规范的服务器

根据您的问题,您可以在没有selenium服务器的情况下运行Protractor吗?是的,如果您使用的是遵循W3C WebDriver规范的浏览器驱动程序。因此,在配置文件中设置directConnect: true(angular-cli default)基本上告诉Protractor启动驱动程序二进制文件,然后Protractor创建一个驱动程序提供程序来与该二进制文件通信。

驱动程序提供程序选项

驱动程序提供商可能不同。您的问题也提到了seleniumAddress。那么这是如何工作的呢?基本上,Protractor会读取您的配置文件decides which driver provider to launch。如果您未使用directConnect并且已决定在配置中使用seleniumAddress选项,则可以启动附加会话或托管驱动程序。附加会话意味着您之前的会话正在运行,而Protractor将针对会话ID启动测试。托管意味着您已经开始针对正在运行的selenium独立服务器进行测试。通常,selenium独立服务器是http://localhost:4444

还有其他类型的驱动程序提供程序可帮助您启动测试,如果您按照buildDriverProvider方法执行条件,则可以选择要选择的启动方式。显然(从条件开始),如果您有directConnectseleniumAddress,您将使用直接连接驱动程序提供程序启动。

关于webdriver-manager的快速说明

还有关于webdriver-manager的快速说明。如果您计划在Firefox上启动Protractor测试,则需要下载Gecko驱动程序。如果您使用seleniumAddress选项,则还需要下载selenium-standalone服务器。 angular-cli仅使用命令webdriver-manager update --standalone false --gecko false下载chromedriver。要下载其余部分,只需删除设置为false的标志:webdriver-manager update

配置中的黄瓜

所以最后你想要用量角器黄瓜。量角器支持黄瓜作为自定义框架。您需要protractor-cucumber-framework。希望你在configuration in the Protractor-cookbook上找到了这个。

您应该在配置中添加以下内容以使黄瓜正常工作:

framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
  compiler: "ts:ts-node/register",
  monochrome: true,
  strict: true,
  plugin: ["pretty"],
  require: ['../../stepdefinitions/*.ts', '../../support/*.ts'],
  //tags help us execute specific scenarios of feature files
  tags: '@AddScenario,@SubtractScenario,@MultiplyScenario,@DivideScenario,@ModulusScenario'
}

答案 1 :(得分:1)

您可以使用protractor config中的directConnect: true在没有selenium服务器的情况下运行量角器测试。但请注意,此选项目前仅适用于Chrome和Firefox。