我有大型(超過1000行)FeatureContext類,我想在幾個邏輯部分拆分這個文件。但我不知道如何在Behat中創建自己的課程。我閱讀文檔http://docs.behat.org/en/v2.5/guides/4.context.html但我不明白。在文檔示例中,FeatureContext擴展了BehatContext,但我需要FeatureContext擴展MinkContext,因爲如果沒有它,Mink就無法工作。如果你能寫我自己的類與函數的例子使用水貂和告訴我如何使用這個類FeatureContext這將是巨大如何在Behat + Mink中使用我的課程?
0
A
回答
0
我剛剛找到正確的方式在貝哈特使用的子上下文(類)與水貂http://blog.scur.pl/2012/06/subcontexts-behat-mink/ 希望這將幫助別人
0
這個配置應該達到你所需要的
文件:behat.yml
default:
suites:
yourCustomSuite:
paths:
- %paths.base%/src/your/bundle/name/Features/YourSuiteName
contexts:
- YourBundleName\Contexts\YourContextName
文件:YourBundleName\Contexts\YourContextName.php
class YourContextName extends FeatureContext
{
}
,讓FeatureContext
延長\Behat\MinkExtension\Context\MinkContext
0
頁面對象模式是一種通過將UI知識與操作和斷言分開來保持上下文文件清潔的方式。
我用PageObjectsExtension在我的項目,我看上下文的是這樣的:在behat.yml
SensioLabs\Behat\PageObjectExtension:
namespaces:
page: [NS1\Features\Page, NS2\Features\Page]
element: [NS1\Features\Page\Element, NS2\Features\Page\Element]
/**
* @When /^I order products by "([^"]*)"$/
*
* @param $order
*/
public function orderProductsBy($order)
{
$this->getPage("Catalog")->orderProductsBy($order);
}
配置擴展如果需要多個Contexts
,你可以把它加入你的behat.yml
default:
suites:
selenium:
mink_session: selenium
mink_javascript_session: selenium
contexts:
- Namespace\FeatureContext
- Namespace\CatalogContext
- Namespace\CheckoutFinishContext
- Namespace\CheckoutIndexContext
- Namespace\HomeContext
- Namespace\ProductDetailsContext
- Namespace\CartContext
- Namespace\CustomerAccountContext
- Namespace\CustomerLoginContext
- Namespace\FilterContext
- Namespace\TelesalesContext
- Namespace\HelpdeskContext
- Namespace\FaqContext
- Namespace\BrandContext
相關問題
- 1. 我如何使用Behat和Mink和WebApiContext?
- 2. 如何使用PHP behat/mink selenium2 chrome webdriver
- 3. Behat/Mink:我如何評估xml響應
- 4. Symfony2 + Behat + Mink:我應該如何重構?
- 5. Behat + Mink + Selenium安裝
- 6. 如何在Symfony 2中使用Behat和Mink測試REST API
- 7. 如何使用Behat/Mink切換到動態命名的iframe
- 8. 如何在Windows 7 64位安裝behat和mink驅動程序?
- 9. 如何在Behat + Mink中斷言頁面/標籤/窗口標題
- 10. 不能啓用Behat Mink擴展
- 11. 無法在Symfony2應用程序中使用Sahi/Mink/Behat上傳文件
- 12. 如何訪問Mink(Behat)中的php $ _SESSION變量?
- 13. 如何用Mink和Behat打開一個新選項卡?
- 14. Behat/Mink從CSS元素獲取價值
- 15. Behat/Mink/Selenium2元素不可見
- 16. 無法關注鏈接| Behat/Mink
- 17. behat mink相當於dropdown-> selectOptionByText()?
- 18. 無法使用Selenium 3.5.x查找Behat/Mink的頁面元素
- 19. 使用Behat和Mink測試Symfony2的註冊系統
- 20. Ubuntu上的Behat 3和Mink Extension在FeatureContext中的錯誤
- 21. 任何可用的Behat/Mink報告工具?
- 22. 如何處理Behat Mink HTTP基本身份驗證
- 23. 如何在其他課程中使用課程的回報?
- 24. 我該如何在AppDelegate.swift中使用我的課程
- 25. Behat/Mink在瀏覽器中打開空白頁
- 26. 如何讓我的課程使用課堂外的數組?
- 27. 用上下文測試的Behat/Mink策略
- 28. 用Behat/Mink進行表單填充的奇怪行爲
- 29. 檢查Behat Mink場景中的單選按鈕狀態?
- 30. 如何讓Behat/Mink將鼠標懸停在網頁上的某個元素上?