2015-04-22 60 views
0

我正在測試一個android窗體(xamarin)。
我的腳本查找標籤=「已註冊」的radioButton 它找到並對此執行操作 但是還有另一個標籤爲「已註冊」的radioButton實例,它位於第一個實例下方几行。黃瓜腳本總是找到第一個,因此腳本失敗。calabash-Android - 同一個radioButton的多個實例 - 如何聲明?

我需要在這兩個按鈕不只是第一個實例執行操作。

當我做一個查詢(「單選按鈕」),它返回只是一個單選按鈕,表格上的C#代碼只是實例化一個單選按鈕的另一個實例。如果需要,我們不希望更改代碼,所以我想知道Cucumber/Calabash中是否有忽略第一個實例並在第二個實例上執行和操作的問題?謝謝。

回答

0

如果你想要的元素是另一個元素裏面,你可以使用查詢語法鏈一起定位器。例如

query(ListView index: 1 * RadioButton) 

使用這個,你可以找到你想要的。

也就是說,查詢(「單選按鈕」)應該返回兩個元素,如果目前有兩個在屏幕上。查詢方法的工作方式不應該在乎它是否與c#代碼中的元素相同。如果元素是不是在屏幕上,然後查詢將不會返回它,所以你可能需要向下滾動/跨等

+0

喜艾倫的回答感謝堆...香港專業教育學院運行查詢(「單選按鈕」 ,:contentDescription)這已經返回了contentDescription元素的數組0到5以及它們的stringName。現在我需要做的就是寫的功能和自定義步驟DEF ..我張貼在一個新的問題或「痛苦的世界,因爲我有點小白,只是一直在這幾個星期! –