2016-01-11 81 views
2

我正在使用量角器,我試圖用它的標籤來選擇一個表單。量角器:使用標籤選擇一個表單元素

舉個例子吧。我有這種形式與幾個輸入:

<form> 
    <label for="name">Name</label> 
    <input type="text" id="name"> 
    <label for="address">Address</label> 
    <input type="text" id="address"> 
    <label for="email">Email</label> 
    <input type="text" id="email"> 
</form> 

我的步驟定義應該是這樣的:

this.When(/^I fill input identified by label "([^"]*)" with value "([^"]*)"$/, function(labelName, value, callback){   
    ... 
}); 

我需要,因爲我用量角器與cucumber.js寫這個步驟定義,所以運行測試的人應該能夠填寫只知道標籤的表單,而不用檢查html代碼來檢索類,id或其他屬性。

我在github上找到了this question,但我想知道是否有更好的方法來做到這一點。

任何人都可以幫助我解決這個問題嗎?我不喜歡問其他開發者的代碼片段,但我真的不知道如何繼續,我無法找到有關此問題的文檔。

重要:我沒有使用Angularjs

預先感謝您。

回答

3

您可以通過文本找到label元素,然後拿到following siblinginput元素:

var input = element(by.xpath("//label[. = '" + labelName + "']/following-sibling::input")); 
input.sendKeys(value); 
+0

它確實有幫助,謝謝! ;-) –

相關問題