3
我正在使用Xamarin.UITest編寫測試,我想檢查特定UI按鈕的顏色。從Repl我可以抓住這樣的按鈕:如何檢查UITest中按鈕的顏色
>>> app.Query(c => c.Button()).First()
Query for Button() gave 1 results.
{
Id => "buttonGo",
Description => "android.widget.Button{b312e568 VFED..C. ........ 26,234-454,314 #7f060033 app:id/buttonGo}",
Rect => {
Width => 428,
Height => 80,
X => 26,
Y => 328,
CenterX => 240,
CenterY => 368
},
Label => null,
Text => "Go!",
Class => "android.widget.Button",
Enabled => true
}
不幸的是,似乎沒有任何財產,會給我的顏色。有沒有辦法讓我從按鈕中提取更多信息,或者以其他方式查詢我可以用來查找按鈕顏色的信息?
更新:所以我正在取得一些進展,感謝使用Invoke的建議。現在我正在努力做到以下幾點:
>>> app.Query(c => c.Button("buttonGo").Invoke("getBackground"))
這應該叫getBackground,並返回我的背景繪製,而是引發以下錯誤:
Ignoring failed json serialisation of result of Query for Button("buttonGo").Invoke("getBackground"). Value was never requested
Query for Button("buttonGo").Invoke("getBackground") gave no results.
null
如果我打電話的getHeight一切正常等等我有點困惑在這裏:
>>> app.Query(c => c.Button("buttonGo").Invoke("getHeight"))
Query for Button("buttonGo").Invoke("getHeight") gave 1 results.
[
[0] 80
]
Unfortunatley我得到null返回的調用(「getBackground」)不知道爲什麼 –
這不起作用,因爲你需要一個強制轉換到'ColorDrawable'來調用getColor'方法。 – ridecar2