`
taowen
  • 浏览: 193561 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用UIAutomation做验收测试

阅读更多
这是被测的应用程序:




应用.NET 3.0提供的UIAutomation,我们可以用以下步骤来进行测试:

1. 启动应用程序

string path = @"The Path To The Application";
Process process = Process.Start(path);


2. 获得主窗口对应的AutomationElement

Thread.Sleep(1000);
AutomationElement aeMainWindow = AutomationElement.FromHandle(process.MainWindowHandle);


3. 获得按钮对应的AutomationElement

AutomationElement aeHelloButton = aeMainWindow.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button));


4. 点击按钮

此处的GetCurrentPattern相当于Query Interface,Pattern也是UIAutomation的精髓所在。给不同的UI框架做不同的adapter,实现各种各样的pattern,也就是建立了一个概念上的大一统UI。

InvokePattern ipHelloButton = (InvokePattern) aeHelloButton.GetCurrentPattern(InvokePattern.Pattern);
ipHelloButton.Invoke();


5. 获得文本框对应的AutomationElement

AutomationElement aeHelloTextBox = aeMainWindow.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit));


6. 取得文本框中的文本

TextPattern tpHelloTextBox = (TextPattern) aeHelloTextBox.GetCurrentPattern(TextPattern.Pattern);
string text = tpHelloTextBox.DocumentRange.GetText(-1);


7. 监听窗口被关闭事件

Automation.AddAutomationEventHandler(WindowPattern.WindowClosedEvent, aeMainWindow, TreeScope.Element, HandleMainWindowClose);
private static void HandleMainWindowClose(object sender, AutomationEventArgs e)
{
  Console.WriteLine("Main Window Closed");
}


8. 关闭窗口

process.Kill();


此时控制台上就会打印出"Main Window Closed"

整个过程演示了三个主要功能:
1、如何主动去操纵界面(点击按钮)
2、如何取得界面的状态(获得文本)
3、如何监听界面的事件(关闭窗口事件)

结论:
UIAutomation可以给Win32, WindowsForms, WPF编写的应用程序撰写验收测试。
分享到:
评论

相关推荐

    Test iOS Apps with UI Automation(全高清版)

    - **Alexander Repty**:作为自动化验收测试的支持者,UI Automation已成为他在iOS应用开发中的首选工具。他认为Jonathan的作品对解决实际问题非常有帮助。 #### 三、UI Automation概述 UI Automation是一种用于...

    豆瓣IOS自动化测试实战

    3. **验收测试工具**(开源):如UISpec、Frank、KIF等。 4. **UI Automation**:官方提供的工具,支持网络、内存监控等功能,可以通过改造和扩展来满足更多需求。 #### 四、UI Automation与FoneMonkey对比 UI ...

    ios自动化测试实践和经验

    3. **验收测试工具(开源)**:UISpec、Frank、KIF等。这些工具提供了更多面向UI的测试功能,适用于界面测试。 4. **官方工具**:UI Automation。这是苹果官方提供的工具,具备强大的功能,如网络和内存监控等,同时...

    PIDE测试资料

    Robot Framework是一个通用的自动化测试框架,广泛应用于系统测试、验收测试和接受测试等领域。 通过研究`RIDE-master`中的源代码和文档,我们可以学习如何定制RIDE,或者将它的某些特性应用到我们的PIDE环境中。这...

    QA-Automation-Course:2017年三月

    1. **自动化测试基础**:介绍自动化测试的基本概念,如回归测试、冒烟测试和验收测试。学习如何规划和设计测试用例,以覆盖关键业务流程。 2. **C#入门**:回顾C#的基础语法,包括变量、数据类型、控制结构、函数...

    UIPTAH-TEST:测试工作流程

    9. **验收测试**:最后,进行用户验收测试,确保产品符合业务和用户的期望。 10. **持续集成与持续测试**:随着开发的迭代,测试也需要与之同步,通过CI/CD(Continuous Integration/Continuous Deployment)流程...

    20220103-RPA.zip

    9. RPA enabling platform UAT training_202011.pptx:UAT(User Acceptance Testing,用户验收测试)是软件开发过程的关键环节,这个PPT可能涵盖了如何利用RPA平台进行UAT的培训内容。 10. 20210628_ Automation ...

    办公自动化系统设计与开发.rar

    测试环节不可忽视,包括单元测试、集成测试、系统测试和验收测试,确保每个模块、整个系统以及用户界面都能正常工作。测试过程中应发现并修复bug,以提高系统的稳定性和用户体验。 部署上线后,还需进行持续监控和...

    RPA机器人流程自动化.pdf

    2. **UI级自动化测试**:RPA可作为UI自动化测试工具,用于系统测试,如UAT(用户验收测试),执行各种回归测试。 3. **类似按键精灵的场景**:RPA可以应用于需要大量手动点击和输入的场景,如抢购、保持在线状态、...

    RPA推行管理SOP-Wenqin.zip

    测试阶段包括单元测试、集成测试和用户验收测试,确保RPA机器人能够准确无误地执行任务。 5. **部署与上线**:在测试成功后,将RPA解决方案部署到生产环境中,可能涉及服务器配置、权限设置等。同时,需准备详细的...

    OA项目完整例子

    8. **测试与调试**:包括单元测试、集成测试、系统测试和验收测试,确保系统功能的正确性和稳定性。 9. **部署与运维**:项目完成后,需要进行服务器配置、数据库安装、系统部署,并进行性能监控和问题排查。 10. ...

    vagrant-robotframework:使用ubuntu-18.04-desktop和RobotFramework设置虚拟机VM,并预先安装了一些示例

    它是一个关键词驱动的测试框架,支持多种测试库和协议,可以用于系统测试、验收测试、UI测试等多种场景。Robot Framework语法简洁,易于阅读,且支持数据驱动测试,使得测试用例编写直观且易于维护。 在项目中,...

    OA系统设计方案及对策.doc

    讲解系统测试的阶段和方法,包括单元测试、集成测试、性能测试等,以及最终的系统验收标准。 10. **维护与升级** 阐述系统上线后的维护计划,如何处理错误报告,以及未来的升级规划。 这份文档详尽地描绘了OA...

    武汉计算机软件行业RPA实施工程师(武汉)岗位介绍JD模板.docx

    2. **流程自动化开发与测试**:利用主流的RPA工具如UiPath、Automation Anywhere或Blue Prism等,将设计好的自动化流程转化为可执行的程序,并进行全面的测试,确保其稳定性和准确性。 3. **POC协助**:POC(Proof...

    武汉计算机软件行业RPA实施工程师(武汉)岗位介绍JD模板.pdf

    2. **自动化开发**:利用RPA工具(如UiPath、AutomationAnywhere、Blue Prism等)进行流程自动化开发,同时负责测试和调试,确保自动化流程的稳定运行。 3. **POC支持**:协助销售和售前团队完成Proof of Concept ...

    oa系统需求分析

    OA(Office Automation)系统是一种企业级的应用软件,主要用于自动化办公流程,提高工作效率,降低管理成本。本需求分析文档旨在详细阐述Web OA系统的各项需求,确保开发团队能够准确理解并实现系统功能。 1. **...

Global site tag (gtag.js) - Google Analytics