2017-02-25 124 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