2011-07-19 14 views
0

我使用VS 2010編碼UI測試將Click操作記錄到由combobox和按鈕組成的自定義控件的combobox並生成代碼。不能重放錄製的編碼的UI測試操作爲自定義控件的一部分的按鈕

然後,我用VS 2010 Coded UI Test將Click操作記錄到Custom Control的按鈕上,該按鈕由combobox和按鈕以及生成的代碼組成。

當我做了單擊複合框的重播它工作正常。

當我做了點擊按鈕的重播我得到了一個例外:

Cannot perform 'Click' on the hidden control 

編碼的UI測試刷新之後可以找到並突出顯示的按鈕。
看來UIMap.Designer生成正確的控制聲明。
在按鈕上執行「單擊」之前,我嘗試了SetFocus
如果我得到ControlCollection並顯示消息BoundingRectangle集合中的每個控件的屬性然後BoundingRectangle指向不同的控制。

如何使自定義控件的按鈕上記錄的「單擊」可重新播放。

+1

請停止使用VS2010它現在真的很老了,升級到VS2013(最新的更新),因爲你得到更好的記錄和播放與新的更新。 –

回答

0

有時控件呈現爲其他控件的組合。 記錄器找到您的按鈕後,看看它是否有子控件(單擊向下箭頭或Alt + Down),like here。這在我測試Silverlight應用程序時發生過幾次,圖像或文本會阻止實際的按鈕。 希望這有助於。

+0

感謝您的回覆,但是我可以深入瞭解子代,然後在生成的代碼中使用此子代聲明。 – tanya

0

嘗試以下解決方案一次作爲外接矩形正確與否: -

  1. 做一個ButtonControl.DrawHighlight()。檢查整個正確的按鈕邊界是否突出顯示。
  2. ButtonControl.BoundingRectangle。這是否返回非零值?
  3. 如果[2]爲真, Rectangle r = ButtonControl.BoundingRectangle。

ButtonControl.SetFocus()

Mouse.Click(新點(r.X + r.Width/2,r.Y + r.Height/2));

相關問題