2017-02-25 127 views
3

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

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

回答

4

需要运行W3C规范的webdriver

从你的问题的服务器,你能无硒服务器运行量角器?是的,如果您使用的是遵循W3C WebDriver规范的浏览器驱动程序。因此,在配置文件中设置directConnect: true(angular-cli default)基本上会告诉量角器启动驱动器二进制,然后量角器创建一个驱动器提供者来与该二进制对话。

驱动器供应商的选择

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

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

上的webdriver经理

而且对webdriver的经理快速说明快速笔记。如果您打算在Firefox上启动您的量角器测试,则需要下载Gecko驱动程序。如果您使用seleniumAddress选项,则还需要下载硒独立服务器。角度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' 
} 
+0

谢谢。仍在努力,但它看起来很有希望。 – uzilan

1

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

+0

感谢。角度cli默认情况下将directConnect设置为true。我想要的是找出是否有人设置了使用角度cli(无硒)运行的黄瓜测试,可以指导我(或者我可以看看配置)以了解如何设置它。 – uzilan

+0

几次阅读问题后,这就是答案。如果这不是答案,那么应该修改这个问题。 – cnishina