跟UI自动化测试有关的技术
大家都知道,针对UI的自动化技术一般要支持下列的东西:
1. 识别窗口
能够识别尽量多的窗口种类,支持尽量多的UI技术。比如Win32、WinForm、WPF以及WebPage(这个比较特殊,确切的说不能叫控件)的控件类型
2. 操作窗口
对标准类型的控件方法的支持,比如按下按钮,在Listview中选择Item等
3. 验证结果
实质就是能够拿到控件的状态以及控件相关的信息
4. 错误恢复
这个其实属于自动化测试框架的问题,能从错误的状态恢复,并继续执行。当然写Testcaes的时候,也要保证Testcase的独立性
5. 同步
同步在UI的自动化测试中最复杂的部分了,这个地方的工作决定了自动化脚本能否稳定的运行在在各种不同平台,不同配置的测试机上
虽然测试工具有很多,比如WinRunner、QuickTest等,我比较熟悉的只是Silktest,所以我说的很多东西都会跟Silktest来比较
我们抛开各种各样的工具本身,来看UI自动化的本质,它所用到的技术无非是下面三种:
1. Windows API
相关的API,FindWindow, EnumWindow,GetWindowRect, GetWindowText, SendMessage等
2. MSAA
MSAA是微软针对视力有障碍的人所提供的一个基于COM的API接口,开发人员可以利用这个技术来开发类似屏幕放大,屏幕阅读,以及语音控制等。现在很多自动化的工具除了利用window api以外,大部分也支持MSAA技术
相关Link:
http://msdn2.microsoft.com/en-us/library/ms971350.aspx
http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility
3. UIAutomation
测试在各个软件公司中的地位日趋上升,而且微软自己在对测试的重视程度以及利用自动化测试方面也一直走在各个公司前面。随着WPF技术的发布,以往的Window API以及MSAA技术,对WPF控件的操作能力急剧下降,甚至无法操作WPF控件,而微软也为了增加对自动化测试的支持,发布了MSAA的升级版,并针对自动化测试进行了重新的设计,集成在.Net Framework3.0中发布,这个升级版就是UIAutomation的类库。
相关链接:
http://en.wikipedia.org/wiki/Microsoft_UI_Automation
http://msdn2.microsoft.com/en-us/library/ms747327.aspx
跟UI自动化测试有关的技术的更多相关文章
- 【python+selenium自动化】图像识别技术在UI自动化测试中的实际运用
引言: 目前在图像识别方面的自动化测试框架有很多,其中比较有名的是airtest,主要做手机端的游戏自动化测试(http://airtest.netease.com/) 因为没有实际把airtest运 ...
- 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...
- django+appium实现UI自动化测试平台---构思版
背景 UI自动化,在进行的过程中,难免会遇到平台化, 在实际的工作中,有的领导也会想要实现自动化测试的平台化.自动化平台化后,有了更为实际的成果, 在做UI自动化,很想吧现在的自动化 ...
- 浅谈UI自动化测试
最近一直在学习python,正好部门技术结构调整,就开始了点工向UI自动化测试的转变,我要说瞌睡来了就掉枕头么? 不过还好,可以将python的学习成果在自动化测试中实践... 1.about自动化测 ...
- 【转】 UI自动化测试的关注点
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试, ...
- 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。
美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...
- UI自动化测试元素定位思想
2014年的最后一天,以一篇短文纪念一下. 经常看到有同学说UI自动化测试定位难,找不到北.这话是不错的,定位是难,灵活且复杂,需要经验加技术,但是有写东西是可以提炼出来作为思想去推而广之的. 简单来 ...
- Selenium UI自动化测试 Selenium Automatic Testing
https://www.cnblogs.com/sunada2005/archive/2013/12/22/3486314.html UI Automatic Testing 1. 什么样的项目适合自 ...
- Selenide 阶段性总结介绍(UI自动化测试工具)
今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的 ...
随机推荐
- vs中使用tfs创建项目
1.打开“Team Explorer”,点击“Home”,选择"Project"->"New Team Project",操作如下图: 2.输入项目名称. ...
- golang gin框架设置静态目录
router := gin.Default() 第一个参数是api 第二个静态问价的文件夹相对目录 router.StaticFS("/data", http.Dir(" ...
- 记lombok@Data和@Builder一起用无法添加无参构造方法的坑
转自:https://blog.csdn.net/w605283073/article/details/89221853 今天和小伙伴讨论一个mybatis-plus的一个诡异问题,最后定位到原因竟然 ...
- OI之路
由于各种因素 学习.初赛.时间... 我的oi可能会结束, 我也不甘于放弃, 所以 综合今后的表现, 我再决定 以后我尽量写博客.
- ffmpeg命令参数详解
ffmpeg命令参数详解 http://linux.51yip.com/search/ffmpeg ffmpeg图片加滤镜效果 参考:https://cloud.tencent.com/develop ...
- bytearray与矩阵转换对应关系
import numpy as npimport osa=bytearray(os.urandom(27))# for i in range(21):# print(a[i])a=np.array(a ...
- kvm第一章--概念
- python day 22 CSS拾遗之箭头,目录,图标
目录 day 4 learn html 1. CSS拾遗之图标 2. html文件的目录结构 3. CSS拾遗之a包含标签 4. CSS拾遗之箭头画法 day 4 learn html 2019/11 ...
- JavaWeb第一天--HTML
HTML HTML简介 HTML(Hyper TextMarkupLanguage) 超文本标记语言. 超文本: 超越了文本仅仅展示信息的功能范畴,泛指:图片.有样式的文字.超链接. 标记: 标签. ...
- Java 之 可变字符序列:字符串缓冲区(StringBuilder 与 StringBuffer)
一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: public class StringDemo { public ...