近日,DevExpress宣布他们是首个完整支持Coded UI的第三方控件提供商。借此机会,我们也谈一谈Coded UI,看看它在构建全面自动化测试套件中是如何发挥作用的。

任何Coded UI测试的核心都是UI Map。UI Map可理解为用户行为记录(例如,鼠标点击),它同我们在文字处理器中创建的宏非常类似。除了自身的一些步骤之外,记录还会识别后续可以交互的用户控件。如何是一则样例定义:

请注意“搜索属性(search properties)”对话框,它用于测试运行器查找屏幕中的控件。你可以使用许多不同条件进行搜索,如下图所示:

当用户界面被干预导致测试失败时,你会发现可能需要手工修改搜索属性。减少这种手工操作的一种方法是给予关键控件一个名字或一个AutomationId。创建AutomationId 原先是用于辅助功能工具,如屏幕朗读器与语音识别系统。不过对于这类情况,自动化客户端技术也显得非常实用。你可以查看MSDN进一步了解自动化与辅助功能。

UI Map还包含了构成宏的“记录方法”(recorded methods)。一般情况下你会在设计器窗口中看到它们,不过你也可以讲它们转成源代码形式。要注意的是,此类转换是单向的,转换后没法恢复。

一旦调整好记录,你就可以着手编写测试了。以下是一个很简单的测试用于确保序列结尾时多选框未被选中。

如你所见,单元测试中的概念同样适用于Coded UI测试。不过,Coded UI测试有一些额外的注意事项。由于测试运行在应用程序的单个实例上,因此每个测试的终结状态可能会干扰接下去的测试。

Coded UI中还有一些很有效的功能用于检查测试结果。例如,当一个测试失败时,截屏会被记录下来并附加到测试结果中。

目前,只有Visual Studio高级版(Premium)与旗舰版(Ultimate)可使用Coded UI。奇怪的是,Visual Studio测试专业版 2012并没有包含Coded UI。

转载于:https://www.cnblogs.com/shihao/archive/2012/07/08/2581210.html

.NET中的UI自动化测试相关推荐

  1. UI自动化测试如何走出困境?价值又如何体现?

    现在很多公司都在做UI自动化测试,也有很多正在做UI自动化测试的路上,招聘的时候习惯性的会问会不会性能测试,会不会自动化测试(一般指UI自动化测试),也有很多小伙伴一直憧憬着要做技术专家,那么性能测试 ...

  2. UI自动化测试中的页面定位问题,年薪50W软件测试工程师为你解答

    这几天有人问我,UI自动化测试中使用到的页面定位元素应该存放在哪里比较合适? 我想说的是,如果你使用的是PO设计模式设计测试用例的话,可以把定位元素存在每一个page页面或者单独存放在一个目录中,新键 ...

  3. element ui input视图没刷新_[Selenium自动化测试实战] 如何在UI自动化测试中加入REST API的操作...

    问题 当我们描述一个"好的自动化测试用例"时,经常出现标准是: 精确.自动化测试用例应该测试一件事,只有一件事.与测试用例无关的应用程序的某个部分中的错误不应导致测试用例失败. 独 ...

  4. 在UI自动化测试中使用flaky插件运行失败用例

    在UI自动化测试中,有时候经常会提示跑用例失败,在单步或单个用例调试时,用例却成功,这个失败的因素主要有环境.代码或前端定位等原因. 可以看这篇文章<我们是如何让UI测试变得稳定的>中有详 ...

  5. JS执行器在UI自动化测试中的应用

    前言 在进行UI自动化过程会遇到滚动条下拉.隐藏元素定位.只读属性元素的编辑.富文本处理等,此时可以使用JS执行器简化我们的一些处理操作. 具体应用 JS执行器的使用步骤: 1.先写个JS脚本,如果需 ...

  6. 从一次故障聊聊前端 UI 自动化测试

    背景 事件的起因在于老板最近的两次"故障",一次去年的,一次最近.共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用. 最神奇的是,事后多次 Code Review ...

  7. 阿里p8呕心沥血整理出来的,APP UI自动化测试思路总结,速看

    首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去.接下来,一 ...

  8. Flutter UI自动化测试技术方案选型与探索

    Flutter页面无法直接使用Native测试工具定位元素,给自动化测试带来很多不便.虽然Google官方推出了Flutter driver 和 Integration test,但是在实际使用中存在 ...

  9. 阿里疯传,手把手教你如何从0开始开展UI自动化测试?

    如何进行一个Web项目的UI自动化测试,首先需要建立一个自动化测试团队.理想情况下,该团队由四个人组成,即测试和开发工程师.中高级自动化测试工程师和两名初级自动化工程师.在非理想情况下,可能只需要一个 ...

最新文章

  1. Python3NumPy的常用函数
  2. 一种全新的点击率建模方案
  3. 【竞赛算法学习】学术前沿趋势分析-论文数据统计
  4. Redis 实用技术——事务
  5. C语言函数在硬件中的执行原理
  6. CNN入门讲解:不一样的Softmax
  7. mysql workbench首页_MySQL Workbench是干什么的?
  8. 极客大学架构师训练营 秒杀 搜索引擎 爬虫 Lucene Elastic Search 第18课 听课总结
  9. 斜齿轮重合度计算公式_斜齿轮的端面重合度计算
  10. 高德地图---行政区划分
  11. wps如何只让他显示3级标题_wps怎么设置标题等级怎么设置多级标题及标题行重复...
  12. 1.1.15. Passive Aggressive Algorithms(被动攻击算法)
  13. memcmp比较结构体
  14. 修复Java使用POI合并Excel单元格后,边框不显示的问题
  15. 微短剧的春天里,抖音、快手各有所思
  16. HTML网页实现自动刷新
  17. 2017年山东省机器人比赛 双足竟步 arduino源代码(删去了关键步态程序 gongneng1 和 gongneng2)
  18. 利用洪特规则计算原子离子磁矩过程详解
  19. 将svn diff改成用vimdiff命令进行可视化差异显示
  20. python如何安装pil库_Python安装PIL库

热门文章

  1. intelij不识别java文件
  2. hadoop的HA高可用配置(没有搞完)
  3. It's highly recommended that you fix the library with 'execstack -c libfile', or link it with '-z
  4. python3的web开发中出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid star
  5. intellij中出現org.apache.hadoop.fs.FSDataInputStream解決方案
  6. window SDK自定义安装路径选择
  7. android京东首页轮播代码,web移动端-轮播
  8. MySql 的一些使用小技巧
  9. 剖析Disruptor:为什么会这么快?(一)锁的缺点
  10. 树的存储结构以及实现代码