UI测试

Posted yuanshijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UI测试相关的知识,希望对你有一定的参考价值。

UI测试

注:编码的UI测试需要vs2015以上的企业版或专业版
若已安装企业版或专业版仍没有编码的UI测试项目,则执行vs安装向导,勾选对应选项安装即可。
安装方式自行百度。

UI自动化测试操作步骤

1.新建 编码的UI测试程序


文件>新建>项目>测试>编码的UI测试项目
技术图片

2.创建操作对象映射


解决方案>项目右键>添加文件夹(名称自定义)
文件夹>添加>新建项>测试>编码的UI测试映射
技术图片

3.获取操作对象


解决方案管理器>xxx.uitest>使用编码的UI测试生成器编辑
技术图片
点击最左侧按钮录制操作
点击最右侧按钮生成测试方法

4.手动编辑测试映像文件


解决方案管理器>xxx.uitest>打开方式>XML(文本)编辑器
技术图片

设置被测软件自启动

  <InitializeActions>
    <LaunchApplicationAction>
      <ParameterName />
      <!-- 填写被测软件的路径-->
      <FileName>D:\01-WORK\25-CTOP测试\CTOP Assistant\CTOP\bin\Release\CTOP.exe</FileName>
      <AlternateFileName>D:\01-WORK\25-CTOP测试\CTOP Assistant\CTOP\bin\Release\CTOP.exe</AlternateFileName>
    </LaunchApplicationAction>
    <TestStepMarkerAction MarkerInformation="LaunchApplicationAction">
      <ParameterName />
      <StepId>-1</StepId>
      <Direction>Start</Direction>
      <Outcome />
      <Disabled>false</Disabled>
      <WorkItemId>0</WorkItemId>
      <MarkerRegionType>Default</MarkerRegionType>
    </TestStepMarkerAction>
  </InitializeActions>

操作对象记录

<ExecuteActions> 中间部分用于添加操作对象的映射(一般会自动生成) </ExecuteAction>

5.调用测试对象


5.1声明映射对象引用

        public UIMaps.BeginWindowClasses.BeginWindow BeginWindow
        {
            get
            {
                if (this.beginWindow == null)
                {
                    this.beginWindow = new UIMaps.BeginWindowClasses.BeginWindow();
                }
                return this.beginWindow;
            }
        }
        private UIMaps.BeginWindowClasses.BeginWindow beginWindow;

5.2 测试方法中调用映射对象

        [TestMethod]
        public void CodedUITestMethod1()
        {
            //启动软件
            this.BeginWindow.LaunchApplicationAction();
            //测试开始界面
            this.BeginWindow.Method_BeginWindow();
          //  this.Model.Method_Model();
            //this.Model.Method_Configure();
            // 若要为此测试生成代码,请从快捷菜单中选择“为编码的 UI 测试生成代码”,然后选择菜单项之一。
        }

操作过程中遇到的问题

1.CUIT无法抓取CTOP(被测软件)窗口控件属性

原因:vs的权限低于CTOP的权限
解决方法:以管理员身份运行vs

2.部分控件的属性不能够被获取到

解决方案:手动获取控件的属性,添加到。xxx.uitest文件中

[参考资料]
[1]微软官方资料
https://docs.microsoft.com/zh-cn/visualstudio/test/walkthrough-creating-editing-and-maintaining-a-coded-ui-test?view=vs-2017*
[2]参考博客文章
https://blog.csdn.net/quicknet/article/details/5337127





以上是关于UI测试的主要内容,如果未能解决你的问题,请参考以下文章

单元测试不了解 XCTest 期望的异步 UI 代码?

如何在使用片段和计时器的选项卡式活动上更新 UI

从 fragmentActivity 刷新片段 UI

如何使用 Espresso 测试片段是不是可见

我们可以在活动 xml 中编写 UI 以及在片段 xm 中编写 UI 吗?

php 一个短代码片段准备在WooCommerce Thank You页面上输出货件跟踪UI。