2016-11-29 43 views
4

我是CodedUI & C#的新手。編碼UI - 無法識別Wpfbrowser上的html控件

我想自動化一個WPF瀏覽器的WPF應用程序。 所以基本上,它是HTML內容的WPF容器。我創建了一個類似的示例小應用程序,並在此分享。此應用程序在wpfwindow中打開amazon.in網站。

WPF Browser application

我的問題是編碼的UI是不能夠識別的HTML控件,如「按鈕」,「文本輸入字段的正確/元素。

下面,頂部圖像來自WPF瀏覽器應用程序[我已經共享的鏈接]。 在這裏,您可以在左上方看到一個藍色方框。編碼的用戶界面標識該區域具有Search Go按鈕。

圖像的底部是IE瀏覽器中的亞馬遜網站,其中編碼的UI正確地顯示/標識搜索搜索按鈕。

這是否意味着我無法使用編碼UI自動化WPFBrowser應用程序?

有人可以告訴做什麼來識別鍵適當的編碼的UI

enter image description here

+0

從您共享的屏幕截圖猜測,它看起來像渲染具有不同的寬度。這主要取決於瀏覽器如何選擇顯示內容。嘗試手動降低WPF控件寬度,以使標題與下面的圖片橫幅寬度相匹配。只是一個猜測,不知道是否是原因。另一方面,你在運行測試時是否遇到任何問題? –

+0

@PrageethSaravanan,是的,我在運行腳本時也遇到同樣的問題。爲了減少WPF控件寬度,我需要在應用程序源代碼中執行它? – user2048204

+0

你可以用很多方式做到這一點。對於實例更新控件屬性(你可以在佈局組下找到它們)。請參閱http://stackoverflow.com/questions/21170316/resize-dialog-webbrowser-to-webpage-width ..總的來說,因爲我理解web瀏覽器控件的WinForms版本比WPF webbrowser控件暴露更多的屬性。您可能也想嘗試一下 –

回答

1

您需要指定爲您要接觸到編碼的UI控件ID屬性。

+0

我有ID attirbute,但我仍然看到同樣的問題。此外,編碼的用戶界面正在識別控制,但不完全在它存在的地方。 – user2048204

1

對我來說,這看起來像CodedUI變得一些控制是相似的,而不是正確的。

如果您正在錄製和執行測試或在單獨的CodedUI解決方案中手寫它們,您還沒有提到。

如果您正在錄製他們:要確保您使用WPF應用程序和交互他們的內部,而不是使用瀏覽器記錄,然後試圖執行使用WPF應用程序

測試記錄如果你手工編寫它們:確保你在編寫測試時正確地創建了繼承樹。例如,在傳統的CodedUI場景中,所有其他控件繼承的絕對頂級對象都是Web瀏覽器。在你的場景中,該對象應該是WPF對象。有可能會有一些其他窗口或各種控件是WPF應用程序的子項,而這些子控件反過來最終將瀏覽器作爲孩子。

+0

我不記錄他們,我手工編碼他們。 是的,我已經正確地創建了繼承。是的,頂級對象是WPFObject。我可以通過CodedUI Test構建器看到這棵樹。 – user2048204