瀏覽量:87次
復(fù)制下面鏈接獲取最新版
https://www.evget.com/product/740/download
DevExpress WPF 控件支持帶有WinAppDriver UI測試自動化的Appium框架,本文主要介紹如何準(zhǔn)備環(huán)境和創(chuàng)建測試。
準(zhǔn)備環(huán)境按照以下步驟將 Appium 與 DevExpress WPF 控件一起使用:
1. 啟動Windows 開發(fā)人員模式 。
2. 安裝WinAppDriver 。
3. 在您的項目中引用 Appium.WebDriver nuget package 。
4. 將 DevExpress WPF 控件切換到 UI 測試模式,為此請在應(yīng)用程序啟動時在測試的應(yīng)用程序中將 DX.UITestingENABLED 環(huán)境變量設(shè)置為 1 或?qū)?ClearAutomationEventsHelper.UITestingEnabled 屬性設(shè)置為 true,此模式導(dǎo)致以下更改:
動畫被禁用。上下文菜單僅在鼠標(biāo)單擊時打開,當(dāng)鼠標(biāo)指針位于菜單上方時不會打開。UI Automation樹進行了調(diào)整,使 UI 測試更加穩(wěn)定和可靠。注意:示例項目使用 EnvironmentVariables 屬性來指定 DX.UITESTINGENABLED 環(huán)境變量。
創(chuàng)建測試要使用 Appium API,請創(chuàng)建一個 WindowsDriver 實例。 以下代碼示例運行經(jīng)過測試的應(yīng)用程序并創(chuàng)建 WindowsDriver 會話:
UnitTest1.cs
varoptions=newAppiumOptions();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);vardriver=newWindowsDriver(newUri("http://127.0.0.1:4723"),options);UnitTest1.vb
Dimoptions=NewAppiumOptions()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)Dimdriver=NewWindowsDriver(OfWindowsElement)(NewUri("http://127.0.0.1:4723"),options)要測試正在運行的應(yīng)用程序,請將上面代碼示例中帶有“app”capabilityName 的行更改為以下內(nèi)容:
UnitTest1.cs
options.AddAdditionalCapability(capabilityName:"appTopLevelWindow",capabilityValue:$"0x{WindowHandle.ToInt64():X8}");UnitTest1.vb
options.AddAdditionalCapability(capabilityName:="appTopLevelWindow",capabilityValue:=$"0x{WindowHandle.ToInt64()}")注意:如果您在與被測應(yīng)用程序相同的進程中托管測試,則測試應(yīng)該在單獨的線程中。 在這種情況下,UI 線程可以同步處理 windows 消息。
使用 WinAppDriver UI 記錄器
您可以使用 WinAppDriver UI Recorder 工具生成測試。 在這種情況下,您的測試應(yīng)用程序需要 DesktopSession 類,這種方法有以下缺點:
這些測試使用 FindElementByXPath 方法來查找元素,這種方法很慢,因為它會解析整個可視化樹。這些測試很難維護,因為它們使用絕對 XPath 來查找元素,應(yīng)用程序布局更改可能會破壞測試。這些測試很難閱讀。使用 Appium API
使用 WinAppDriver 的 FindElementByName、FindElementByClassName 和 FindElementByAccessibilityId 方法來查找應(yīng)用程序元素,這些方法比 FindElementByXPath 方法工作得更快。 當(dāng)您修改應(yīng)用程序布局時,基于這些方法的測試不會失敗。
您可以使用 Inspect 工具查找元素名稱、類名稱和自動化 ID。
提示:您可以指定應(yīng)用程序元素的 AutomationProperties.AutomationId 附加屬性以增強測試的可讀性。
示例
以下代碼打開“New Employee”窗口,在該窗口中找到帶有 TextEdit 類的“First Name”元素,輸入“John”,然后單擊“Save & Close”元素:
C#
[Test]publicvoidCreateEmployee(){varbNewEmployee=driver.FindElementByName("NewEmployee");bNewEmployee.Click();WindowsElementnewEmployeeWindow=null;while(newEmployeeWindow==null)newEmployeeWindow=driver.FindElementByName("Employee(New)");newEmployeeWindow.FindElementByName("FirstName").FindElementByClassName("TextEdit").SendKeys("John");newEmployeeWindow.FindElementByName("Save&Close").Click();}Visual Basic
PublicSubCreateEmployee()Dimdriver=desktopSession.DesktopSessionElementDimbNewEmployee=driver.FindElementByName("NewEmployee")bNewEmployee.Click()DimnewEmployeeWindowAsWindowsElement=NothingWhilenewEmployeeWindowIsNothingnewEmployeeWindow=driver.FindElementByName("Employee(New)")EndWhilenewEmployeeWindow.FindElementByName("FirstName").FindElementByClassName("TextEdit").SendKeys("John")newEmployeeWindow.FindElementByName("Save&Close").Click()EndSubDevExpress WPF
DevExpress WPF擁有120 個控件和庫,將幫助您交付滿足甚至超出企業(yè)需求的高性能業(yè)務(wù)應(yīng)用程序。通過DevExpress WPF能創(chuàng)建有著強大互動功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產(chǎn)品,還是以數(shù)據(jù)為中心的商業(yè)智能產(chǎn)品,都能通過DevExpress WPF控件來實現(xiàn)。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776