一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用DevExpress Winforms實(shí)現(xiàn)UI自動(dòng)化

Wildesbeast ? 來源:今日頭條 ? 作者:慧都科技 ? 2020-02-07 13:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DevExpress Winforms Controls內(nèi)置140多個(gè)UI控件和庫(kù),完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序。無論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),DevExpress WinForms都能輕松勝任。DevExpress廣泛應(yīng)用于ECM企業(yè)內(nèi)容管理、 成本管控、進(jìn)程監(jiān)督、生產(chǎn)調(diào)度,在企業(yè)/政務(wù)信息化管理中占據(jù)一席重要之地。

【適用范圍】:各種桌面、Web應(yīng)用程序開發(fā),尤其是WinForms應(yīng)用程序開發(fā)。

點(diǎn)擊獲取DevExpress v19.2完整版試用下載:https://www.evget.com/product/740/download

在針對(duì)Visual Studio 2019的發(fā)行說明中,Microsoft 宣布Coded UI測(cè)試的生命周期終止。

Microsoft建議將Appium with WinAppDriver 一起用于測(cè)試桌面和UWP應(yīng)用,此消息引起廣大用戶的興趣:DevExpress控件是否與Appium兼容?經(jīng)過DevExpress團(tuán)隊(duì)的反復(fù)測(cè)試,答案是肯定的!使用Appium創(chuàng)建自動(dòng)UI測(cè)試的方法如下。

1. 跳轉(zhuǎn)到 https://github.com/Microsoft/WinAppDriver/releases然后下載兩個(gè)APP,

WinAppDriver- 允許您運(yùn)行測(cè)試,需要安裝。

WinAppDriver UI Recorder- 允許您在運(yùn)行時(shí)記錄測(cè)試,不需要安裝 - 將下載的存檔解壓到任何文件夾。

2. 在Windows中打開Developer Mode。

3. 以管理員身份運(yùn)行WinAppDriver.exe并使其運(yùn)行,請(qǐng)注意應(yīng)用程序正在偵聽的地址,稍后您將需要它。

4. 打開您要測(cè)試的Visual Studio解決方案,或創(chuàng)建一個(gè)新的示例解決方案。

5. 將新的單元測(cè)試項(xiàng)目添加到解決方案。

6. 在Solution Explorer中右鍵單擊Unit Test project,然后選擇“Manage NuGet Packages…”,安裝最新的穩(wěn)定Appium.WebDriver程序包。

7. 打開Unit Test項(xiàng)目的UnitTest1.cs文件,并添加兩個(gè)類:MainDemoSession(定義開始和結(jié)束測(cè)試會(huì)話的方法)和Helper(包含查找被測(cè)試的UI元素的方法),將步驟3中的地址用作WindowsApplicationDriverUrl值。

public class MainDemoSession{protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";private const string ApplicationPath = @"C:\Users\...\AppiumTest.exe"; protected static WindowsDriver desktopSession; public static void Setup(TestContext context) { // Launch a new instance of the tested application if (desktopSession == null) { // Create a new session to launch the tested application AppiumOptions options = new AppiumOptions(); options.AddAdditionalCapability("app", ApplicationPath); desktopSession = new WindowsDriver( new Uri(WindowsApplicationDriverUrl), options); Assert.IsNotNull(desktopSession); Assert.IsNotNull(desktopSession.SessionId); // Set implicit timeout to 1.5 seconds //to make element search to retry every 500 ms //for at most three times desktopSession.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5); } } public static void TearDown() { // Close the application and delete the session if (desktopSession != null) { desktopSession.Close(); desktopSession.Quit(); desktopSession = null; } } } public static class Helper { public static WindowsElement FindElementByAbsoluteXPath( this WindowsDriver desktopSession, string xPath, int nTryCount = 3) { WindowsElement uiTarget = null; while (nTryCount-- > 0) { try { uiTarget = desktopSession.FindElementByXPath(xPath); } catch { } if (uiTarget != null) { break; } else { System.Threading.Thread.Sleep(400); } } return uiTarget; } }

8. 修改自動(dòng)生成的UnitTest1類,如下所示:

[TestClass]public class UnitTest1 : MainDemoSession{[TestMethod]public void TestMethod1(){//test start //test finish } [ClassInitialize] public static void ClassInitialize(TestContext context) { Setup(context); } [ClassCleanup] public static void ClassCleanup() { TearDown(); } }

9. 運(yùn)行您的應(yīng)用程序,并將其拖到主系統(tǒng)顯示屏上(如果您具有多屏幕設(shè)置)。

10. 啟動(dòng)WinAppDriver UI Recorder然后點(diǎn)擊“Record”, 將鼠標(biāo)懸停在要與之交互的第一個(gè)UI元素上,然后等待它開始閃爍藍(lán)色。Recorder的狀態(tài)欄會(huì)將其文本從“Active”更改為“XPath Ready”。

11. 當(dāng)該元素閃爍時(shí),recorder已準(zhǔn)備就緒,您可以執(zhí)行UI操作:?jiǎn)螕舸嗽?、將其拖?dòng)、輸入新值等。完成此元素后,將鼠標(biāo)懸停在另一個(gè)UI元素上,等待 recorder的確認(rèn)并重復(fù)該過程。

12. 記錄了要重現(xiàn)的一系列步驟后,請(qǐng)?jiān)趓ecorder中單擊“Pause”,您可以打開actions selector確保已記錄所有UI操作。

13. 單擊“Generate and copy C# code to Clipboard”按鈕來復(fù)制所有記錄的操作代碼,將此代碼粘貼到UnitTest1.TestMethod1方法中。 例如,下面的代碼選擇“Job”標(biāo)簽

[TestMethod] public void TestMethod1() { //test start // LeftClick on TabItem "Job" at (20,31) Console.WriteLine("LeftClick on TabItem "Job" at (20,31)"); string xpath_LeftClickTabItemJob_20_31 = "/Pane\[@ClassName="#32769"\][@Name="Desktop 1"]/Window\[starts-with(@AutomationId,"XtraForm")]/Pane[@Name="The XtraLayoutControl"\][starts-with(@AutomationId,"dataLayoutControl")]/Table[@Name="Root"]/Table[@Name="autoGeneratedGroup0"]/Table[@Name="Root"]/Table[@Name="Photo"]/Table[@Name="FirstAndLastName"]/Tab[@Name="Tabs"]/TabItem[@Name="Job"]"; var winElem_LeftClickTabItemJob_20_31 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftClickTabItemJob_20_31); if (winElem_LeftClickTabItemJob_20_31 != null) { winElem_LeftClickTabItemJob_20_31.Click(); } else { Console.WriteLine($"Failed to find element using xpath: {xpath_LeftClickTabItemJob_20_31}"); return; } //test finish }

14. 在內(nèi)部測(cè)試期間,自動(dòng)生成的代碼可能無法通過其完整路徑找到UI元素:

/Pane\[@ClassName="#32769"\][@Name="Desktop 1"]/Window[starts-with…

如果發(fā)生這種情況,請(qǐng)縮短所有元素路徑,使其以“ / Window”開頭。

string xpath_LeftClickTabItemJob_20_31 = "/Window[starts-with(@AutomationId...";

此外,您可以使用Assert.Fail而不是Console.WriteLine來調(diào)試測(cè)試(如果找不到UI元素,則可以)。

Assert.Fail($"Failed to find element...");

15. 在Visual Studio中右鍵單擊Unit Test project,然后單擊“Run Tests”。測(cè)試將啟動(dòng)您的應(yīng)用程序,重復(fù)所有記錄的步驟,然后關(guān)閉應(yīng)用程序。 所有測(cè)試操作都記錄在步驟3中啟動(dòng)的WinAppDriver控制臺(tái)中。

您可以通過與Coded UI相同的方式啟動(dòng)Appium測(cè)試,唯一的區(qū)別是您需要在測(cè)試執(zhí)行計(jì)算機(jī)上運(yùn)行WinAppDriver。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1287

    瀏覽量

    71450
  • office
    +關(guān)注

    關(guān)注

    1

    文章

    109

    瀏覽量

    35429
  • ECM
    ECM
    +關(guān)注

    關(guān)注

    3

    文章

    58

    瀏覽量

    28371
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    自動(dòng)化計(jì)算機(jī)的功能與用途

    任務(wù)都是通過使用控制機(jī)械和流程的自動(dòng)化計(jì)算機(jī)來實(shí)現(xiàn)自動(dòng)化的。什么是自動(dòng)化計(jì)算機(jī)?自動(dòng)化計(jì)算機(jī)是工業(yè)級(jí)計(jì)算機(jī),其設(shè)計(jì)堅(jiān)固,能夠在常規(guī)臺(tái)式計(jì)算機(jī)
    的頭像 發(fā)表于 07-15 16:32 ?129次閱讀
    <b class='flag-5'>自動(dòng)化</b>計(jì)算機(jī)的功能與用途

    車機(jī)交互測(cè)試自動(dòng)化實(shí)現(xiàn)路徑與案例分析

    測(cè)試設(shè)備是車機(jī)交互測(cè)試自動(dòng)化實(shí)現(xiàn)的核心支撐,通過合理選型、部署和應(yīng)用北京沃華慧通測(cè)控技術(shù)有限公司汽車測(cè)試設(shè)備,結(jié)合科學(xué)的實(shí)現(xiàn)路徑和豐富的案例經(jīng)驗(yàn),能夠有效提高車機(jī)交互測(cè)試的效率和質(zhì)量,推動(dòng)車機(jī)系統(tǒng)的不斷優(yōu)化和升級(jí),為用戶帶來更加
    的頭像 發(fā)表于 07-10 09:24 ?541次閱讀
    車機(jī)交互測(cè)試<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>實(shí)現(xiàn)</b>路徑與案例分析

    APP自動(dòng)化測(cè)試框架

    APP自動(dòng)化測(cè)試框架是一套結(jié)合工具鏈、設(shè)計(jì)模式和技術(shù)規(guī)范的集成解決方案。以下是基于主流技術(shù)實(shí)踐的核心要點(diǎn)總結(jié): 一、核心模塊構(gòu)成 環(huán)境管理? 支持物理機(jī)/虛擬機(jī)/容器部署,集成ADB、Appium
    的頭像 發(fā)表于 05-07 07:35 ?146次閱讀
    APP<b class='flag-5'>自動(dòng)化</b>測(cè)試框架

    HFSS 自動(dòng)化建模工具

    因工作需求,自己寫的HFSS參數(shù)自動(dòng)化建模工具,目前只實(shí)現(xiàn)了常用的四種模型,可定制,如需可聯(lián)系 qq:1300038043 附件下載鏈接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT
    發(fā)表于 02-27 17:44

    如何實(shí)現(xiàn)跌落式熔斷器的自動(dòng)化控制

    實(shí)現(xiàn)跌落式熔斷器的自動(dòng)化控制,可以通過以下技術(shù)和步驟進(jìn)行: 一、技術(shù)原理 跌落式熔斷器的工作原理是將熔絲穿入熔管內(nèi),當(dāng)被保護(hù)線路發(fā)生故障時(shí),故障電流使熔絲熔斷,形成電弧。消弧管在電弧高溫作用下分解
    的頭像 發(fā)表于 02-05 10:46 ?683次閱讀

    基于 Docker 與 Jenkins 實(shí)現(xiàn)自動(dòng)化部署

    前言 重塑自動(dòng)化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持下,引領(lǐng)持續(xù)集成與部署的新紀(jì)元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?528次閱讀
    基于 Docker 與 Jenkins <b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>自動(dòng)化</b>部署

    自動(dòng)化水廠監(jiān)控系統(tǒng)

    、保障水質(zhì)安全、降低運(yùn)維成本。 系統(tǒng)構(gòu)成 自動(dòng)化水廠監(jiān)控系統(tǒng)通常由硬件設(shè)備和軟件系統(tǒng)兩部分組成。硬件設(shè)備包括傳感器、控制器、執(zhí)行機(jī)構(gòu)、網(wǎng)絡(luò)通信設(shè)備等,負(fù)責(zé)實(shí)時(shí)采集水廠運(yùn)行數(shù)據(jù),執(zhí)行控制指令,以及實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)
    的頭像 發(fā)表于 12-16 16:17 ?624次閱讀

    自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)

    *附件:32960_auto.rar備注:Main.vi是ui自動(dòng)化2.1.vi,配置文件為32960.B.ini。 目前可以實(shí)現(xiàn)根據(jù)配置文件自動(dòng)化創(chuàng)建控件并布局,且可以
    發(fā)表于 12-10 08:41

    自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)

    Labview實(shí)現(xiàn)動(dòng)態(tài)增加控件效果 - *附件:32960_auto.rar 備注:Main.vi是ui自動(dòng)化2.1.vi,配置文件為32960.B.ini。 目前可以實(shí)現(xiàn)根據(jù)配置文件
    發(fā)表于 11-29 11:26

    工業(yè)自動(dòng)化的發(fā)展歷程與未來趨勢(shì)

    集成,實(shí)現(xiàn)生產(chǎn)過程的自動(dòng)化、數(shù)字與智能。本文將為您介紹工業(yè)自動(dòng)化的發(fā)展歷程與目前的趨勢(shì),以及由NXP(恩智浦)所推出的相關(guān)解決方案。
    的頭像 發(fā)表于 11-21 15:36 ?1610次閱讀

    自動(dòng)化實(shí)踐之:從UI到接口,Playwright給你全包了!

    了巨大的工作壓力。 車險(xiǎn)投保流程主要通過H5頁(yè)面進(jìn)行,核心功能集中在投保、報(bào)價(jià)、核保等階段。這些功能的UI自動(dòng)化測(cè)試具有很高的可行性和必要性。通過自動(dòng)化測(cè)試,我們可以完全覆蓋這些核心功能的測(cè)試場(chǎng)景,有效地降低手動(dòng)測(cè)試的
    的頭像 發(fā)表于 11-14 11:00 ?612次閱讀
    <b class='flag-5'>自動(dòng)化</b>實(shí)踐之:從<b class='flag-5'>UI</b>到接口,Playwright給你全包了!

    LMX2595EVM如何實(shí)現(xiàn)自動(dòng)化控制?

    我需要用LMX2595EVM實(shí)現(xiàn)自動(dòng)化控制,請(qǐng)問那里有LMX2595EVM相關(guān)的sdk接口文檔或者Demo?
    發(fā)表于 11-13 06:09

    使用TPS2116實(shí)現(xiàn)建筑自動(dòng)化應(yīng)用的高能效

    電子發(fā)燒友網(wǎng)站提供《使用TPS2116實(shí)現(xiàn)建筑自動(dòng)化應(yīng)用的高能效.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:12 ?0次下載
    使用TPS2116<b class='flag-5'>實(shí)現(xiàn)</b>建筑<b class='flag-5'>自動(dòng)化</b>應(yīng)用的高能效

    開關(guān)電源自動(dòng)化測(cè)試設(shè)備:如何實(shí)現(xiàn)自動(dòng)化測(cè)試?

    開關(guān)電源自動(dòng)化測(cè)試設(shè)備是將測(cè)試軟件和測(cè)試硬件集成在一個(gè)電源測(cè)試柜中的ate自動(dòng)測(cè)試設(shè)備,其測(cè)試原理是通過計(jì)算機(jī)操控測(cè)試儀器,從而減少人工干預(yù),完成開關(guān)電源的自動(dòng)化測(cè)試,旨在解放人力,提高測(cè)試效率,讓測(cè)試更便捷。
    的頭像 發(fā)表于 08-30 18:19 ?1823次閱讀
    開關(guān)電源<b class='flag-5'>自動(dòng)化</b>測(cè)試設(shè)備:如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>自動(dòng)化</b>測(cè)試?

    開關(guān)柜、環(huán)網(wǎng)柜、配電柜如何實(shí)現(xiàn)電力自動(dòng)化?

    開關(guān)柜、環(huán)網(wǎng)柜、配電柜等設(shè)備的電力自動(dòng)化實(shí)現(xiàn)需要綜合考慮技術(shù)原理、硬件集成、軟件開發(fā)以及系統(tǒng)集成等多個(gè)方面。通過集成先進(jìn)的電力自動(dòng)化技術(shù)、信息技術(shù)和物聯(lián)網(wǎng)技術(shù),可以實(shí)現(xiàn)對(duì)這些設(shè)備的遠(yuǎn)程
    的頭像 發(fā)表于 07-29 10:32 ?879次閱讀