转:对UI自动化测试的一些感悟】的更多相关文章

不断发掘自动化测试对各个团队的附加价值,这样才能得到来自四面八方的支持,没有将自动化加入项目过程的自动化都达不到预期的效果. UI自动化框架 把UI自动化框架设计成一个拼图性质的架构.把每个特性都设计成一个独立的部分,然后组装成UI自动化框架: (appium/webdriver)底层操作封装特性 Page Object特性 测试用例管理特性 测试执行引擎特性 测试报告管理特性 测试数据管理特性 keyword特性 自动化原则: 1.选择重点业务 2.选择较稳定的版本业务 3.目标是保证主要功能…
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac的,然后ios. 先不说有多少成功经验,但是确实有一些感悟,现在分享给大家,希望能帮助大家思考,少走弯路. *UI自动化测试的真实价值     测试生命中三大幻觉: 今天能发布明天能发布UI自动化实现了,测试就可…
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化测试的技术方案都已经实现.可以获取.设置UI对象的各个属性,并且可以调用UI对象及引擎的一些方法接口,实现基于引擎的UI驱动能力.有了这些能力之后,从技术上来说已经可以实现基于引擎的游戏UI自动化测试.但是单纯的UI驱动能力还不足以实施一个游戏的UI自动化测试. UI自动化测试一般需要满足几个条件:…
Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/documentation/element-class-mapping-table/ 可以通过多种属性查找html元素 支持ajax站点测试 支持对页面进行截图 支持frames和iframe 支持弹出对话框如alert, confirm, login以及模态对话框等 方便的集成到你的测试工具,如:VS的单元…
近年流行一个词-UI,和UI搭边好像都那么高大上,软件测试行业也不例外,比如UI自动化测试. 常见的UI自动化测试程序有哪些呢? l  带UI的Unit Test,比如mock掉底层代码,仅仅测试UI逻辑: l  带UI的API Test,比如UI的component,大部分的API都是跟UI相关的: l  功能测试.大部分的UI自动化测试是功能测试.或者说是Regression Test即回归测试: UI自动化测试既有优点也是有缺点的,优点在于:覆盖范围广.不需要被测程序源代码.最大程度模拟用…
其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://github.com/xiaoshitoutester/UItestframework 这里完全是干货,中间涉及到很多知识点,可以下载到本地然后,修改下项目地址,编写测试用例就可以执行了,日志,报告什么的都有: 这里日志打印是我新加的,在自动化测试中,经常出现各种奇怪的问题,导致不好定位问题,现在我将webd…
目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等.  这些框架都可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试.其实这些工具的原理都一样,都是通过调用IE COM接口和HTML DOM 对IE浏览器以及WEB测试对象的操作. 本文介绍脱离这些自动化测试框架.  直接使用.NET提供的shdocvm.dll库来操作IE浏览器,使用mshtml.dll库来操作IE中的 HTML对象.…
UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索列表页.在列表页停留1分钟,至到页面上出现“搜索结束”.如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表中会出现“第一程”. “第二程”:对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表底部中会出现“报价范围”如果不出现航班列表,则页…
前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.WebElement接口常用方法 5.设置等待时间 6.打印验证信息 7.定位一组对象操作 8.层级定位操作 9.定位frame中对象操作 10.alert/confirm/prompt处理 11.下拉框处理 12.select菜单处理 1.常用操作元素对象的方法 webdriver中常用的操作元素的方…
   我没有拼写错误,确实不是 Selenium ,但是,只要是 Web UI 自动化测试框架,基本上都是基于Selenium 的.Selenide 也不例外.那为啥不直接用Selenium呢? 因为原生的 Selenium 不好用啊! 举个例子,用原生成Selenium去写 显式等待. …… //显式等待, 针对某个元素等待 WebDriverWait wait = new WebDriverWait(driver,10,1); wait.until(new ExpectedCondition…
         背景 UI自动化,在进行的过程中,难免会遇到平台化, 在实际的工作中,有的领导也会想要实现自动化测试的平台化.自动化平台化后,有了更为实际的成果, 在做UI自动化,很想吧现在的自动化的框架进行平台化,完成更多的移植. 设想 其实平台化也是不难的,也是简单的,前提你也有思路,我在前面的接口平台的时候的构思就是吧所有的都集中到一个平台.但是在UI自动化测试的平台,我选择了另外的一个思路   平台端+客户端 客户端保持执行测试用例,平台端进行测试用例的管理,两者相辅相成.缺一不可.…
第七章.PC端UI自动化测试 UI自动化测试又分为:Web自动化测试,App自动化测试.微信小程序.微信公众号UI层的自动化测试工具非常多,比较主流的是UFT(QTP),Robot Framework.selenium 等 Web自动化比较好的实现方式是使用selenium框架.选择selenium进行Web测试 (一)工具介绍 1.UFT(QTP) Unified Functional Testing (QuickTestProfessional), 缩写UFT.最初是Mercury Inte…
第八章.手机端UI自动化测试 (一)APP测试分类 1,原生APP:Native页面是使用原生系统内核的,相当于直接在系统上操作 2,H5APP:先调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性差 3,混合APP:既有Native页面,又有H5页面 特点: H5:最大的优点是可以跨平台,开发容易 Native:需要用Android的语言.iOS的语言各自写自己代码.H5只要开发一套 (二)移动APP自动化测试框架对比 参考文章:https://blog.csdn.net/xi…
接口自动化及UI自动化测试平台设计演示   by:授客  QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Django,Selenium,JQuery等,搭建接口及UI自动化测试平台设计理念及设计思路,希望能给广大测试同行带来新的启发,有想想法可以和我联系,QQ:1033553122 点击:接口自动化及UI自动化测试平台设计演示 观看视频 下载地址: https://gitee.com/ishouke/Auto…
[原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式是因为确确实实一个项目开始去做自动化测试,由于公司当时有个内部研发项目,类似目前的“58同城”之类网站,不过最终由于各种原因,这个项目停掉了,可以看出腾讯内部其实在创新这块,有很多好的创新应用,但好多没做起来,也许是天时,地利,人和各种情况没有发生“共振”,造成了很多产品流产,也挺心痛的. 今天我们…
最近一直在学习python,正好部门技术结构调整,就开始了点工向UI自动化测试的转变,我要说瞌睡来了就掉枕头么? 不过还好,可以将python的学习成果在自动化测试中实践... 1.about自动化测试 定义:把人为驱动的测试转化为机器执行的一种过程,重点在于持续集成这个概念: 优势:节约人力和时间成本: 测试金字塔: 如上图所示,敏捷大师Mike Cohn提出该概念,然后由Martin Fowler大师在此基础上提出了测试分层概念,以区别于传统的自动化测试. 2.自动化测试分层 单元自动化测试…
UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo基于Selenium与Java.由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里这种统治地位应该还会持续,所以我的这篇文章还都是基于Selenium与Java的.   自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网.我们分析一下这段代码都包含些什么东西. 第一,这段代…
PhantomJS(http://phantomjs.org/) 是一个基于WebKit的服务器端JavaScript API.它全面支持web而不需浏览器支持,其快速.原生支持各种Web标准:DOM处理, CSS选择器, JSON, Canvas, 和SVG. PhantomJS 可以用于页面自动化,网络监测,网页截屏以及无界面测试等. 0.下载安装(以Mac为例) 下载地址:http://phantomjs.org/download.html 下载后进行解压 将 phantomjs-2.0.…
美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案. AirtestIDE 是一个跨平台的 UI 自动化测试编辑器,目前已经支持 Android 手游.Windows 端游和 Android App,后续还将支持 iOS 手游.在网易游戏内部,这项技术已经被应用到<梦幻西游>手游.<大…
UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索列表页.在列表页停留1分钟,至到页面上出现“搜索结束”.如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表中会出现“第一程”. “第二程”:对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表底部中会出现“报价范围”如果不出现航班列表,则页…
2014年的最后一天,以一篇短文纪念一下. 经常看到有同学说UI自动化测试定位难,找不到北.这话是不错的,定位是难,灵活且复杂,需要经验加技术,但是有写东西是可以提炼出来作为思想去推而广之的. 简单来说,UI元素定位思想应该如下: 大道至简 大道至简指的是有明显特征的元素一定要用明显的特征去定位.比如有id有name的元素,就不要舍近求远,一定要用最简单的办法去定位. 分而治之 一般来说,良好的html代码页面结构是很清晰的.很多同学在用class定位的时候经常会发现页面上有很多同名class,…
使用 UI自动化测试的好处就是在代码逻辑中写好 case 后,来实现 “一劳永逸” 的作用,并且自动化测试能够模拟人工达不到要求,比如快速切换页面.快速点击按钮等,对于提高软件的稳定性很有帮助. 安装的软件: 1.WinAppDriver   github : https://github.com/microsoft/winappdriver 上面有些 demo.Application Driver直接安装地址:https://github.com/Microsoft/WinAppDriver/…
在UI自动化测试中,有时候经常会提示跑用例失败,在单步或单个用例调试时,用例却成功,这个失败的因素主要有环境.代码或前端定位等原因. 可以看这篇文章<我们是如何让UI测试变得稳定的>中有详细说明,但是,在这里,我们不讨论问题,我们来看看优化 项目中原来的自动化框架是基本nose的,nose中有一个选项为: --failed Run the tests that failed in the last test run. 可以单独运行上次测试中失败的用例,但貌似与我的想法有点背离,我的需求是失败后…
https://www.cnblogs.com/sunada2005/archive/2013/12/22/3486314.html UI Automatic Testing 1. 什么样的项目适合自动化测试?2. 常见的自动化测试工具简介3. Selenium介绍4. Selenium的工作原理 1. 什么样的项目适合自动化测试? 定义:把人为驱动的测试转化为机器执行的一种过程,重点在于持续集成这个概念:优势:节约人力和时间成本: 如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,…
顾铮,10年+测试及测试开发相关经验,2014年加入京东,曾主导设计开发UI测试框架,参与CI测试平台建设,现负责iOS侧的工具,框架建设.在UI自动化,性能测试,单元测试方面有较深入研究,在App,web端等有较丰富的测试开发和设计经验. >>>> 写在前面 关于UI测试的文章,多数是通过架构的演进,或是重构,或是推翻重做来讲述的.今天我想讲述我的“一步到位”的测试框架设计.当然,这个“一步到位”是加引号的,并不是说没有持续的优化或改进,而是指基础结构的稳定:这个“一步到位”是基…
原文地址https://blog.csdn.net/iamhuanggua/article/details/53104345 简介   一直以来,安卓UI自动化测试都存在以下两个障碍,一是测试工具Mokey/Appium等的学习成本较高,不方便刚接触移动端自动化的新手入门:另一个是,在测试代码书写中耗费在控件元素查找上的时间太多,在一些稍微复杂的应用中尤其突出.LazyAndroid正是为了解决这些问题而诞生的一款UI自动化测试框架.它基于appium,封装了appiumDriver的设置.安卓…
今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的你要去阅读英文文档了.不过这年头写代码的有几个看不懂英文的.所以这都不是问题. 简单介绍 Selenide的团队自诩它是一个测试工具而不是一个测试框架.因为它只是webdriver的一个封装,只是他们封装了更好用的API,更稳定的控件搜索机制,更好的异常处理机制等等.底层的实现还是webdriver…
Espresso是Google官方提供的Android UI自动化测试的框架. 为什么叫Espresso(浓咖啡),好像是想让Android码农们轻松的写完自动化用例后能享受着咖啡,看着自动化测试"飞". 这是Espresso官方的地址.另外,也推荐大家看这个YouTube上关于Espresso环境搭建的短视频. Espresso环境搭建 下面将基于Android Studio,介绍如何搭建Espresso. 1. 在Android Studio中新建一个Project; 2. 修改P…
为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配置文件):用来存放配置文件(YML,XML,HTML...) 2.data(数据文件):存放测试数据等 3.drivers(驱动):Chromedriver,IEdriver 4.log(日志文件):打印测试log 5.report(报告):生成HTML测试报告 6.test(测试用例):写Test…
介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程中,我将展示如何使用此模块来创建和执行一个基本的UI测试,选择默认的计算器模块进行测试. 先决条件 在使用前,需要具备以下条件: 最新版本的Android Studio 运行Android 4.3或者更高版本的设备或者虚拟器 理解JUnit 1. 安装依赖库 工程中使用UI自动化模块,需要编辑你的工…