翻譯|使用教程|編輯:龔雪|2022-03-07 10:08:02.190|閱讀 203 次
概述:本文主要介紹DevExpress WPF控件是如何使用Appium測試控件,歡迎下載最新版控件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WPF 控件支持帶有WinAppDriver UI測試自動化的Appium框架,本文主要介紹如何準備環境和創建測試。
按照以下步驟將 Appium 與 DevExpress WPF 控件一起使用:
1. 啟動 。
2. 安裝。
3. 在您的項目中引用 。
4. 將 DevExpress WPF 控件切換到 UI 測試模式,為此請在應用程序啟動時在測試的應用程序中將 DX.UITestingENABLED 環境變量設置為 1 或將 屬性設置為 true,此模式導致以下更改:
注意:示例項目使用 EnvironmentVariables 屬性來指定 DX.UITESTINGENABLED 環境變量。
要使用 Appium API,請創建一個 WindowsDriver 實例。 以下代碼示例運行經過測試的應用程序并創建 WindowsDriver 會話:
UnitTest1.cs
var options = new AppiumOptions(); options.AddAdditionalCapability(capabilityName: "app", capabilityValue: PathToTheApp); options.AddAdditionalCapability(capabilityName: "deviceName", capabilityValue: "WindowsPC"); options.AddAdditionalCapability(capabilityName: "platformName", capabilityValue: "Windows"); options.AddAdditionalCapability(capabilityName: "ms:experimental-webdriver", capabilityValue: true); var driver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), options);
UnitTest1.vb
Dim options = New AppiumOptions() options.AddAdditionalCapability(capabilityName:="app", capabilityValue:=PathToTheApp) options.AddAdditionalCapability(capabilityName:="deviceName", capabilityValue:="WindowsPC") options.AddAdditionalCapability(capabilityName:="platformName", capabilityValue:="Windows") options.AddAdditionalCapability(capabilityName:="ms:experimental-webdriver", capabilityValue:=True) Dim driver = New WindowsDriver(Of WindowsElement)(New Uri("http://127.0.0.1:4723"), options)
要測試正在運行的應用程序,請將上面代碼示例中帶有“app”capabilityName 的行更改為以下內容:
UnitTest1.cs
options.AddAdditionalCapability(capabilityName: "appTopLevelWindow", capabilityValue: $"0x{WindowHandle.ToInt64():X8}");
UnitTest1.vb
options.AddAdditionalCapability(capabilityName:="appTopLevelWindow", capabilityValue:=$"0x{WindowHandle.ToInt64()}")
注意:如果您在與被測應用程序相同的進程中托管測試,則測試應該在單獨的線程中。 在這種情況下,UI 線程可以同步處理 windows 消息。
使用 WinAppDriver UI 記錄器
您可以使用 WinAppDriver UI Recorder 工具生成測試。 在這種情況下,您的測試應用程序需要 DesktopSession 類,這種方法有以下缺點:
使用 Appium API
使用 WinAppDriver 的 FindElementByName、FindElementByClassName 和 FindElementByAccessibilityId 方法來查找應用程序元素,這些方法比 FindElementByXPath 方法工作得更快。 當您修改應用程序布局時,基于這些方法的測試不會失敗。
您可以使用 Inspect 工具查找元素名稱、類名稱和自動化 ID。
提示:您可以指定應用程序元素的 AutomationProperties.AutomationId 附加屬性以增強測試的可讀性。
示例
以下代碼打開“New Employee”窗口,在該窗口中找到帶有 TextEdit 類的“First Name”元素,輸入“John”,然后單擊“Save & Close”元素:
C#
[Test] public void CreateEmployee() { var bNewEmployee = driver.FindElementByName("New Employee"); bNewEmployee.Click(); WindowsElement newEmployeeWindow = null; while (newEmployeeWindow == null) newEmployeeWindow = driver.FindElementByName("Employee (New)"); newEmployeeWindow.FindElementByName("First Name").FindElementByClassName("TextEdit").SendKeys("John"); newEmployeeWindow.FindElementByName("Save & Close").Click(); }
Visual Basic
Public Sub CreateEmployee() Dim driver = desktopSession.DesktopSessionElement Dim bNewEmployee = driver.FindElementByName("New Employee") bNewEmployee.Click() Dim newEmployeeWindow As WindowsElement = Nothing While newEmployeeWindow Is Nothing newEmployeeWindow = driver.FindElementByName("Employee (New)") End While newEmployeeWindow.FindElementByName("First Name").FindElementByClassName("TextEdit").SendKeys("John") newEmployeeWindow.FindElementByName("Save & Close").Click() End Sub
DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
DevExpress技術交流群5:742234706 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網