我已經在TestComplete論壇上提出了同樣的問題,但我希望能夠在這裏找到知道Xamarin的人,因爲我的大多數問題都與Xamarin相關的多於TestComplete。Xamarin用TestComplete測試
我們即將將所有應用程序切換到Xamarin,並希望繼續使用TestComplete進行UI測試。以前(在測試原生Android應用程序時),我們使用對象ID來標識在Android View xmls中指定的ui控件。這是非常方便的IDS是
- 人類可讀
- 獨特
- 跨應用程序不斷運行
在Xamarin,控制似乎有IDS,太多,但我們有一些問題與他們:
- 大多數對象沒有身份證,有些人有一個md5哈希作爲他們的ID。對於大多數控件來說,在Android上非常方便,並且這在Xamarin中似乎已經消失了。有三個問題:基於什麼是md5哈希,它們什麼時候改變,是否有可能仍然設置自己的控件ID?
- 某些對象以相同的id出現兩次,但具有不同的ObjectIndex。我只從iOS中瞭解這種現象,其中UI在運行時創建,有時UI控件無法正確回收,因此如果您再次打開相同的視圖,最終可能會看到相同的控件,其中一個控件隱約可見,另一個可見。這是iOS上流氓的一種痛苦,因爲在TestComplete中可能很難確定當前可見的實例。我希望現在我們可以以某種方式擺脫這一點,但我不知道如何。
截圖:(1):MD5哈希值,(2)的某些對象出現兩次
- 對象是隻能在一定水平訪問。例如,我們可以訪問
md52....MasterDetailContainer
並與其互動,但其唯一的子女View("NO_ID")
無法訪問。 TestComplete無法在ObjectBrowser中顯示它的屏幕截圖,並且與其進行任何交互(包括「屏幕上的突出顯示」)都會導致錯誤。這也適用於所有的孩子。這一點尤其重要,因爲我們的所有UI控件都是該MasterDetailContainer的子項,並且無法訪問其子項會使測試無用。 - TestComplete,Xamarin Forms Designer和Android UI Automator Viewer在應用程序中顯示了相同視圖的完全不同的對象層次結構。這怎麼解釋?
我一直在與開發團隊討論這一切,但因爲他們對Xamarin也是新手,他們也不知道答案。如果有人知道Xamarin coudl幫助我們解決一些問題,我會很高興。
謝謝你的回答!不幸的是,我們使用Xamarin.Forms,但我會問SmartBear。 – vatbub