我正在使用Visual Studio 2010 Ultimate - visual c# - codedUI。測試自動化 - CodedUI無法區分應用程序中的不同控件
我正在爲一個客戶端進行一些自動化測試(煙霧測試,迴歸測試等),但是我試圖做測試自動化的應用程序並不合作。 我已經自動化了所有客戶端的Web應用程序,沒有任何問題,但對於他們的桌面應用程序,我似乎無法獲得任何控件之間的任何唯一標識符。
下面是一個示例codedUI記錄,我通過一種樹狀結構,走在應用程序 - 我強調在列表中幾個不同的項目,展開列表中,單擊某個項目,瀏覽一個啓動窗口等
/// <summary>
/// SomeRecordedMethod
/// </summary>
public void SomeRecordedMethod()
{
#region Variable Declarations
WinTitleBar uINavigatorTitleBar = this.UISomeRandomCompanyWindow.UINavigatorWindow.UINavigatorTitleBar;
WinEdit uIObjectdescEdit = this.UISomeRandomCompanyWindow.UINavigatorWindow.UIDw_navigatorClient.UIObjectdescEdit;
WinClient uICalendar1Client = this.UISomeRandomCompanyWindow.UIMaintainCalendar1Window.UIItemWindow.uICalendar1Client;
#endregion
// Click 'Navigator' title bar
Mouse.Click(uINavigatorTitleBar, new Point(241, 9));
// Click 'objectdesc' text box
Mouse.Click(uIObjectdescEdit, new Point(19, 11));
// Click 'objectdesc' text box
Mouse.Click(uIObjectdescEdit, new Point(39, 10));
// Double-Click 'objectdesc' text box
Mouse.DoubleClick(uIObjectdescEdit, new Point(37, 11));
// Double-Click 'objectdesc' text box
Mouse.DoubleClick(uIObjectdescEdit, new Point(20, 11));
// Double-Click 'objectdesc' text box
Mouse.DoubleClick(uIObjectdescEdit, new Point(42, 5));
// Double-Click 'objectdesc' text box
Mouse.DoubleClick(uIObjectdescEdit, new Point(61, 11));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(632, 141));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(671, 200));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(675, 301));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(686, 396));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(686, 544));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(478, 547));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(579, 552));
// Click 'Calendar [1]' client
Mouse.Click(uICalendar1Client, new Point(579, 552));
}
注意'objectdesc'和'Calendar [1]'的多個實例。每一次重複的發生都是不同的控制,但是動作記錄並沒有挑選出來。
當我嘗試運行測試時,我明顯得到:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException:播放無法找到具有給定搜索屬性的控件。
我是新來測試Visual Studio中的自動化,所以我不知道我有什麼選擇在這一點上。任何建議將不勝感激。
謝謝
感謝您的信息阿德里安。今天我不打算接觸開發者,但我會看看他們是如何編寫應用程序的。根據他們十多年前制定該計劃的所有帳戶。自那時起,他們一直在着手並更新它。我不認爲他們最近使用新技術完成了重建 - 我認爲他們使用的任何東西都已經有十年多了。 鑑於此,編碼UI /動作錄製可能不太可能,對吧? – LuFaMa
讓我問一個後續問題 - 如果我不能對自己的CodedUI測試進行自動測試,我有什麼選擇?過去我曾經使用過像Vtask Studio這樣的自動化工具,但這些並不是非常強大的工具,只能用於勉強服務。我不想用這樣的東西來做一大堆測試。你有什麼建議? – LuFaMa
@LuFaMa - 我沒有任何建議。 http://en.wikipedia.org/wiki/List_of_GUI_testing_tools可能會給你更多的想法。您對於舊計劃的評論支持我的答案中的理論。與開發人員交談,您可能很幸運,並且發現他們購買了一個控件庫,其中有一個新版本可正確支持Coded UI。 – AdrianHHH