2013-11-21 82 views
0

我使用Behat與貂和硒2. 問題是,我有一個元素兩次...「設置」。 第一個元素是(例如)<a href="settings.php">Settings</a>,第二個元素是不可見菜單<a href="settings.php">Settings</a>中的快速鏈接。網站上的多個元素

如何在szenario中選擇第二個「Settings」元素?

當前的例子:

Feature: Setting links 
    Check the links 

    Scenario: I check the links for settings 
    Given I am logged in as "user":"name" 
    Given The page is loaded 
    # Now the problem... I have "Settings" twice and i would test both of them 
    When I follow "Settings" 
    And The page is loaded 
    Then The parameter "sid" should match "[0-9]*" 
    And I should see text matching "ID" 
    And I should see text matching "Firstname" 
    And I should see text matching "Surname" 
    And I should see text matching "Street" 
    And I should see text matching "Zip code" 
    And I should see text matching "Country" 

預先感謝您的任何提示! :)

+0

嗯,我會承擔一個是可見的,一個也不會,所以檢查元件上的'Displayed'財產。 – Arran

+0

嗯,怎麼樣?我認爲你的意思是FeatureContext,對吧? – PatrickB

+0

你的問題是如何編寫小黃瓜,如何使用硒,或兩者兼而有之? – Louis

回答

0

例如。
如果你有以下的html:

<div class="items ">

<a href="settings.php">Settings</a>

<a href="settings.php">Settings</a>

嘗試使用以下步驟:

And I click on ".items a:second-child" element

+0

'當我點擊「a [href $ ='settings']:visible」element#Features \ Context \ FeatureContext :: iClickOnTheElement() 僞類「visible」不被支持.' – PatrickB

+0

可能是嘗試執行以下步驟: 1)第一步='當我將光標移動到「.items div:second-child」元素時 2)第二步='我點擊「type your xpath」element' – ChechoroArtem

+0

1.'/ ** * @Then/^我點擊的XPath 「(ΔP。*?)」 元素$/ */ 公共職能clickXpath($選擇器) {$ 元素= $這個 - > getSession() - > getPage() - > find('xpath',$ selector); $ element-> click(); } 2/** * @Given/^我將光標移動到 「(ΔP。*?)」 元素$/ */ 公共職能iMoveCursorToElement($選擇器) {$ 腳本= <<< JS $('{$ selector}')。addClass('hover'); JS; $ this-> getSession() - > executeScript($ script); }' 抱歉的語法 – ChechoroArtem