簡體   English   中英

Telerik.WinControls.UI.RadToggleSwitch +編碼的ui測試+ c#

[英]Telerik.WinControls.UI.RadToggleSwitch + coded ui test + c#

我有一個telerik控件 (Telerik.WinControls.UI.RadToggleSwitch),該控件用於通過“ 單擊並拖動(向左或向右) ”在狀態1和狀態2之間進行切換,以產生切換效果。 我想進行手工編碼的UI測試,以選擇一種狀態並進一步進行。 我需要一個類來調用該控件(我假設它是WinClient )。

我需要正確的代碼來執行切換操作。 提前致謝。

您可以手動編碼UI編碼測試,但是手動編碼UIControl確實很麻煩,因為您永遠無法確定添加的控件是否確實存在並且所做的一切正確。 更好的替代方法是使用UIMap通過編碼的UI測試生成器手動添加控件。 它還可以節省大量時間。 打開“編碼的UI測試生成器”后,您可以將鼠標懸停在控件上,然后鍵入“ Control + I”以獲取有關該特定控件的信息。 如果現在單擊打開的信息框上的<<,您將在UIMap的左側添加“ Control + I”控件。 但是該控件尚未永久添加。 在此處,您可以通過單擊帶有綠色加號的正方形永久添加它。 添加按鈕圖標

另外,簡單的方法是將鼠標懸停在控件上並按“ Control + Shift + I”。

另請參閱: https : //docs.microsoft.com/zh-cn/visualstudio/test/use-ui-automation-to-test-your-code

在將特定控件添加到UIMap之后,您可以通過參考UIMap來使用它。 在UIMap的* .cs文件中進行編碼時,可以通過“ this”語句對其進行引用。

例如:

this.UIWindow.UITitleBar.UICloseButton;

如果要在UIMap文件的外部使用它,則必須創建UIMap類的對象,然后可以像上面一樣通過使用對象引用替換“ this”來使用它。

例如:

MyUIMapClass uIMapObject = new MyUIMapClass();
uIMapObject.UIWindow.UITitleBar.UICloseButton;

如果您要編碼的文件不在同一名稱空間中,則必須為UIMap的名稱空間添加using語句(名稱空間是在UIMap中每個文件的開頭定義的)。

因此,對於您的控件,我認為您需要的是Mouse.StartDragging()和Mouse.StopDragging()。

public static void StartDragging(UITestControl control);
public static void StopDragging(UITestControl control, int moveByX, int moveByY);

因此,向左拖動將是:

Mouse.StartDragging(UIYourControl)
Mouse.StopDragging(UIYourControl, -20, 0);

並向右:

Mouse.StartDragging(UIYourControl)
Mouse.StopDragging(UIYourControl, 20, 0);

您應該對每個方向上的拖動量進行測試,以使其注冊為拖動,但是我認為-20和20應該可以。

我希望我能有所幫助。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM