原文地址https://blog.csdn.net/iamhuanggua/article/details/53104345 简介   一直以来,安卓UI自动化测试都存在以下两个障碍,一是测试工具Mokey/Appium等的学习成本较高,不方便刚接触移动端自动化的新手入门:另一个是,在测试代码书写中耗费在控件元素查找上的时间太多,在一些稍微复杂的应用中尤其突出.LazyAndroid正是为了解决这些问题而诞生的一款UI自动化测试框架.它基于appium,封装了appiumDriver的设置.安卓…
接口自动化及UI自动化测试平台设计演示   by:授客  QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Django,Selenium,JQuery等,搭建接口及UI自动化测试平台设计理念及设计思路,希望能给广大测试同行带来新的启发,有想想法可以和我联系,QQ:1033553122 点击:接口自动化及UI自动化测试平台设计演示 观看视频 下载地址: https://gitee.com/ishouke/Auto…
分层测试的思想 分层测试(有的也叫测试金字塔)是最近几年慢慢流行.火热起来的,也逐渐得到了大家的认可,大家应该已经比较熟悉分层测试的思想了,不太了解的可以自行找一些相应的渠道去补充一下上下文的知识. 总的来说测试需要有层次感,不同层面的测试需要不同形态的测试方法来保证其质量. 分层测试的思想把测试分为3层: * unit test层:可以简单的理解为白盒测试层.测试的对象是代码,测试工具一般为相应语言对应的单元测试框架,通过各种断言来判断代码的逻辑是否符合预期. 单元测试用例一般是从代码中演化出…
[原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式是因为确确实实一个项目开始去做自动化测试,由于公司当时有个内部研发项目,类似目前的“58同城”之类网站,不过最终由于各种原因,这个项目停掉了,可以看出腾讯内部其实在创新这块,有很多好的创新应用,但好多没做起来,也许是天时,地利,人和各种情况没有发生“共振”,造成了很多产品流产,也挺心痛的. 今天我们…
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac的,然后ios. 先不说有多少成功经验,但是确实有一些感悟,现在分享给大家,希望能帮助大家思考,少走弯路. *UI自动化测试的真实价值     测试生命中三大幻觉: 今天能发布明天能发布UI自动化实现了,测试就可…
UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo基于Selenium与Java.由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里这种统治地位应该还会持续,所以我的这篇文章还都是基于Selenium与Java的.   自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网.我们分析一下这段代码都包含些什么东西. 第一,这段代…
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览器的基本上底层都是selenium,驱动无线app和浏览器基本是appium.monkey之类的,底层都是基于官方支持的自动化测试框架开发而来,然后上层又做了各种封装 首先在开始计划开发自动化时,第一步是了解目前已有的自动化开发技术,上面说了,最底层的就那几种,根据实际要去测试的业务需求选择合适的自…
其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://github.com/xiaoshitoutester/UItestframework 这里完全是干货,中间涉及到很多知识点,可以下载到本地然后,修改下项目地址,编写测试用例就可以执行了,日志,报告什么的都有: 这里日志打印是我新加的,在自动化测试中,经常出现各种奇怪的问题,导致不好定位问题,现在我将webd…
顾铮,10年+测试及测试开发相关经验,2014年加入京东,曾主导设计开发UI测试框架,参与CI测试平台建设,现负责iOS侧的工具,框架建设.在UI自动化,性能测试,单元测试方面有较深入研究,在App,web端等有较丰富的测试开发和设计经验. >>>> 写在前面 关于UI测试的文章,多数是通过架构的演进,或是重构,或是推翻重做来讲述的.今天我想讲述我的“一步到位”的测试框架设计.当然,这个“一步到位”是加引号的,并不是说没有持续的优化或改进,而是指基础结构的稳定:这个“一步到位”是基…
WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动化测试框架. 特点 默认使用CSS定位,同时支持多种定位方法(id\name\class\link_text\xpath\css). 基于Selenium二次封装,使用更简单. 提供脚手架,快速生成自动化测试项目. 自动生成/reports/目录,以及HTML测试报告生成. 自带断言方法,断言tit…
为了多人之间更方便的协作,那么框架本身的结构和编写方式将变得很重要,因此每个团队都有适合自己的框架.如下本人对APP的UI自动化测试的框架进行进行了简单的汇总.主要目的是为了让团队中的其余人员接手写脚本时更清楚的知道该如何入手. 一个优秀的自动化测试框架应该具备的特点包括: 可扩展性:对新增功能模块.对不同的项目等等 易用性:易于查看,熟练或者新手都可以很快的对框架的结构进行掌握,可以很快的上手编写测试脚本等 稳定性.可维护性:不同的人均可对此框架进行补充封装,多人协作可将框架更好的进行完善 管…
为了提高我们的UI测试效率,我们引用Ui自动化测试框架,这里简单先描述一下,后续会详细补充: 了解一个测试框架,我们就需要了解一下源码,能看懂源码即可: 1.稳定先封装wait EC,电脑性能配置较好2.case 与 获取元素的逻辑要分离,page object modle 对页面 进行分层抽象 形成page类 3.封装上的优化 ....4.结合unitest 运行框架,按级别去执行case5.报告…
UI自动化测试框架 ---TestCafe 官网文档链接: https://devexpress.github.io/testcafe/ https://devexpress.github.io/testcafe/documentation/test-api/assertions/…
最近工作中遇到游戏APP需要实现UI自动化测试,这个app中真的是典型的混合App,有Android原生控件,有webview控件,以及游戏操作页面.研究了Appium,发现appium实现跨应用操作很困难,研究了好几天也没找到实现的方法.后来在公司大佬的带领下,接触到了atx这个自动化的框架.今天来说一下,使用atx,uiautomator2,pytest,selenium 来实现混合App的UI自动化及生成测试报告. 一.环境准备 本人使用的是系统是Mac,所以接线来的都是在Mac电脑上进行…
前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行器,本框架整体特点为:用例与代码分离:用例驱动测试的执行:分层设计.脚本模块化:自动准备测试条件和数据.事后清理:支持失败多次重试.且在每次重试前都会还原一次测试环境,保证重试的成功率:支持邮件呈现测试结果:可灵活挑选项目和用例执行. 框架特点说明 数据驱动 封装一个测试脚本,通过不同的数据来驱动,…
1. 关键字驱动框架简介 2. 工程结构说明 3. 工程代码实现 action 包  page_action.py business_process 包 case_process.py data_source_process.py main_process.py util 包 global_var.py find_element_util.py excel_util.py ini_reader.py email_util.py datetime_util.py log_util.py repor…
UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools版本建议选择28及以上 配置appium环境,并确保appium版本1.9及以上 目前只支持安卓手机,建议使用安卓7.0及以上设备 运行时候,电脑只能同时连接一台测试机 三.框架结构和原理 3.1 框架原理 框架结构设计分为四层,自下而上分别为:基础工具类Base层.页面操作PageObject层.…
2014年的最后一天,以一篇短文纪念一下. 经常看到有同学说UI自动化测试定位难,找不到北.这话是不错的,定位是难,灵活且复杂,需要经验加技术,但是有写东西是可以提炼出来作为思想去推而广之的. 简单来说,UI元素定位思想应该如下: 大道至简 大道至简指的是有明显特征的元素一定要用明显的特征去定位.比如有id有name的元素,就不要舍近求远,一定要用最简单的办法去定位. 分而治之 一般来说,良好的html代码页面结构是很清晰的.很多同学在用class定位的时候经常会发现页面上有很多同名class,…
在UI自动化测试中,有时候经常会提示跑用例失败,在单步或单个用例调试时,用例却成功,这个失败的因素主要有环境.代码或前端定位等原因. 可以看这篇文章<我们是如何让UI测试变得稳定的>中有详细说明,但是,在这里,我们不讨论问题,我们来看看优化 项目中原来的自动化框架是基本nose的,nose中有一个选项为: --failed Run the tests that failed in the last test run. 可以单独运行上次测试中失败的用例,但貌似与我的想法有点背离,我的需求是失败后…
引言: 目前在图像识别方面的自动化测试框架有很多,其中比较有名的是airtest,主要做手机端的游戏自动化测试(http://airtest.netease.com/) 因为没有实际把airtest运用在项目中的经验,所以此篇文章暂不讨论,等后续有时间去实践了,一定回来分享 ----------------------------------------------------------------------------------------------------------------…
背景 事件的起因在于老板最近的两次"故障",一次去年的,一次最近.共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用. 最神奇的是,事后多次 Code Review,结果还是没有发现任何能够导致该问题的 bug,最后推测有可能是服务器在发布打包的时候出了问题. 当老板第 N + 1 次吐槽因为他写的工程化工具领来的天外飞锅,我突然思考起来,如何才能避免这种天外飞锅. 归根结底,导致这类线上故障的原因都是在于打包上线的代码没有经过验证.针对这个问题,有两种方法可以解决:…
为什么需要UI自动化测试 移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能.UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作负担,提高工作效率,需要引入可持续集成的自动化测试方案. 为什么选择Appium Appium是一款开源测试工具,可以用来测试安卓/iOS/Windows端的原生应用和Web混合应用. 为了应对快速迭代的移动端应用功能,越来越多的App采用混合模式,即将部分功能交给应用内嵌的Web页面实现.Appi…
python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结. 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去. 接下来,一起总结一下APP UI自动化测试的思路吧. 一,开发语言选择 通常用于自动化测试的编程语言有:Python.Java.Javascript.Ruby.C#.PHP等.一般我们会选择自己熟悉的编程语言来编写自动化脚本,但…
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化测试的技术方案都已经实现.可以获取.设置UI对象的各个属性,并且可以调用UI对象及引擎的一些方法接口,实现基于引擎的UI驱动能力.有了这些能力之后,从技术上来说已经可以实现基于引擎的游戏UI自动化测试.但是单纯的UI驱动能力还不足以实施一个游戏的UI自动化测试. UI自动化测试一般需要满足几个条件:…
目前市面上有很多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分钟,至到页面上出现“搜索结束”.如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表中会出现“第一程”. “第二程”:对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表底部中会出现“报价范围”如果不出现航班列表,则页…
篇5                            python自动化测试应用-Selenium环境篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),从本篇开始我将开始介绍python如何通过selenium来进行web页面自动化测试,我的一贯原则实战,有什么坑我会替大家埋上. 为什么是selenium? 记得最早接触web自动化测试,大家一定会想到QTP,在学着录制完订机票的网站后也算初步认识了什么是网页的自动化测试实现.基本的思路也就是模拟点击,然后对脚本回放…
前两天分别讲述了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自动化测试的平台,我选择了另外的一个思路   平台端+客户端 客户端保持执行测试用例,平台端进行测试用例的管理,两者相辅相成.缺一不可.…