Angular cli + 量角器 + 黄瓜 - 硒
Angular cli + protractor + cucumber - selenium
我想知道是否有可能运行 angular cli 项目的设置,使用 cucumber e2e 测试,使用量角器步骤,而不使用 selenium 服务器。当我搜索此类配置时,我只会找到具有 seleniumAddress 设置的配置。
那么,没有它可以运行吗?
您可以在 protractor config 中使用 directConnect: true
来 运行 没有 selenium 服务器的量角器测试。但请注意,此选项目前仅适用于 Chrome 和 Firefox。
需要服务器运行宁 W3C WebDriver 规范
根据你的问题,你可以 运行 没有 selenium 服务器的量角器吗?是的,如果您使用的是遵循 W3C WebDriver 规范的浏览器驱动程序。因此,在配置文件中设置 directConnect: true
(angular-cli 默认值)基本上告诉 Protractor 启动驱动程序二进制文件,然后 Protractor 创建一个驱动程序提供程序来与该二进制文件通信。
驱动程序提供商选项
驱动程序提供商可能不同。你的问题也提到了seleniumAddress
。那么这是如何工作的呢?基本上,Protractor 会读取您的配置文件和 decides which driver provider to launch。如果您没有使用 directConnect
并决定在您的配置中使用 seleniumAddress
选项,那么您可以启动附加会话或托管驱动程序。附加会话意味着您有一个先前的会话 运行ning 并且 Protractor 将针对会话 ID 启动测试。托管意味着您已经开始针对 运行ning selenium 独立服务器进行测试。通常selenium独立服务器是http://localhost:4444
.
还有其他类型的驱动程序提供程序可以帮助您启动测试,如果您遵循 buildDriverProvider
方法中的条件,您可以选择要启动的驱动程序提供程序。显然(根据条件),如果您有 directConnect
和 seleniumAddress
,您将使用直接连接驱动程序提供商启动。
关于 webdriver-manager 的快速说明
还有关于 webdriver-manager 的快速说明。如果您计划在 Firefox 上启动 Protractor 测试,则需要下载 Gecko 驱动程序。如果您使用 seleniumAddress
选项,您还需要下载 selenium-standalone 服务器。 angular-cli 仅使用命令 webdriver-manager update --standalone false --gecko false
下载 chromedriver。要下载其余部分,只需删除设置为 false 的标志:webdriver-manager update
你配置中的 Cucumber
最后你想要黄瓜和量角器。 Protractor 支持将 Cucumber 作为自定义框架。您需要要求 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'
}
我想知道是否有可能运行 angular cli 项目的设置,使用 cucumber e2e 测试,使用量角器步骤,而不使用 selenium 服务器。当我搜索此类配置时,我只会找到具有 seleniumAddress 设置的配置。
那么,没有它可以运行吗?
您可以在 protractor config 中使用 directConnect: true
来 运行 没有 selenium 服务器的量角器测试。但请注意,此选项目前仅适用于 Chrome 和 Firefox。
需要服务器运行宁 W3C WebDriver 规范
根据你的问题,你可以 运行 没有 selenium 服务器的量角器吗?是的,如果您使用的是遵循 W3C WebDriver 规范的浏览器驱动程序。因此,在配置文件中设置 directConnect: true
(angular-cli 默认值)基本上告诉 Protractor 启动驱动程序二进制文件,然后 Protractor 创建一个驱动程序提供程序来与该二进制文件通信。
驱动程序提供商选项
驱动程序提供商可能不同。你的问题也提到了seleniumAddress
。那么这是如何工作的呢?基本上,Protractor 会读取您的配置文件和 decides which driver provider to launch。如果您没有使用 directConnect
并决定在您的配置中使用 seleniumAddress
选项,那么您可以启动附加会话或托管驱动程序。附加会话意味着您有一个先前的会话 运行ning 并且 Protractor 将针对会话 ID 启动测试。托管意味着您已经开始针对 运行ning selenium 独立服务器进行测试。通常selenium独立服务器是http://localhost:4444
.
还有其他类型的驱动程序提供程序可以帮助您启动测试,如果您遵循 buildDriverProvider
方法中的条件,您可以选择要启动的驱动程序提供程序。显然(根据条件),如果您有 directConnect
和 seleniumAddress
,您将使用直接连接驱动程序提供商启动。
关于 webdriver-manager 的快速说明
还有关于 webdriver-manager 的快速说明。如果您计划在 Firefox 上启动 Protractor 测试,则需要下载 Gecko 驱动程序。如果您使用 seleniumAddress
选项,您还需要下载 selenium-standalone 服务器。 angular-cli 仅使用命令 webdriver-manager update --standalone false --gecko false
下载 chromedriver。要下载其余部分,只需删除设置为 false 的标志:webdriver-manager update
你配置中的 Cucumber
最后你想要黄瓜和量角器。 Protractor 支持将 Cucumber 作为自定义框架。您需要要求 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'
}