作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. uiautomatorviewer是谷歌在Android4.1及之后的版本中发布的一个用来扫描和分析Android应用程序的UI组件的GUI工具. 使用uiautomatorviewer,可以查看应用的UI布局.组件以及相关的属性. lazy-uiautomatorviewer**是在uiauto…
作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204150).本文将在此基础上,对框架的核心的API进行说明. 核心API介绍 •LazyDriver 的3个构造函数. 可以分别针对不同的应用场景选择使用不同的构造函数.使用场景及各参数的意义,代码注释中写得比较清楚了. /** * app测试默认driver * * @param AppName *…
概述 前面的3篇博文分别对lazyAndroid的框架简介.元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤. 模板工程 先来看一下模板工程中包含哪些东西: 图中标注说明: 1是bean层,是lazy-uiautomaterviewer自动生成的java代码,是基于目标控件xpath自动定义的变量. 2是page层,是基于bean层代码封装的基本操作,一般以页面为单位. 3是test层代码,是基于page层操作写的测试case.…
作者:cryanimal  QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试的目的. 其一般过程如下图所示: APP自动化常用工具简介 Monkey Monkey 是Android SDK 自带的自动化测试工具,可以运行在模拟器里或实际设备中,它向系统发送随机的用户事件流,如按键输入.触摸屏输入.手势输入.Sensor 事件等, 实现对正在开发的应用程序进行表现或者压力测试…
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面上的常用控件(可批量或单个抓取),获得控件所在的frame和三个唯一定位控件的xpath,并生成基于LazyUI框架的Java代码,解决繁杂的元素的获取问题. 下载: http://download.csdn.net/detail/kaka1121/9571942 拖拽安装到chrome即可右键使用…
最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeioliver/p/9285904.html 作者提供的框架图,思路不错,可以参考 该架构设计思路总结: 1.PM模型设计:在operation层,使用了业界通用的Page-Object模式,即针对页面或模块封装操作方式,在case层调用operation提供的接口. 2.Operation实现可扩展:…
作为网易开源的ATX APP自动化测试框架,对比现有的macaca自动化框架/Appium自动化框架,最大的特别就是在于可远程进行自动化测试 先给大家看一张我自己梳理的框架架构图 框架巧妙点: 1. 使用golang作为server端运行在Android手机上,免root运行 2. AutomatorHttpService使用NanoHTTPD框架,也自己运行一个server,专门监听及处理过来的http jsonRpc请求 public class AutomatorHttpServer ex…
作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选用chrome浏览器进行演示,IDE选用eclipse. STEP1:下载模板工程LazyUI-template,导入eclipse 前置条件:安装eclipse,并且装好maven,以及eclipse的maven插件 1.点击下载:https://github.com/lazytest/LazyT…
核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Configuration(); conf.addResource("cn/itcast/h3/helloworld/vo/UserModel.hbm.xml"); 2.加载hibernate.cfg.xml(主流) Configuration conf = new Configuration()…
作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一般过程如下图所示:   web端自动化常用工具简介 web端自动化测试通常用QTP或者Selenium. QTP,商业工具(收费),笨重,但是功能强大,易上手,是一套完整的自动化解决方案,且适用于C/S,B/S结构.最大的缺点是VBS语法体系,不太适合写大项目,而且效率低,所以QTP现在很容易被代替…
一.框架源码 https://github.com/jiangnan27/Autotest_APP_Open 二.框架环境 python3 + appium1.15.3 + pytest5.3.5 三.框架目录 四.框架作用范围 1.原生安卓APP 2.混合型安卓APP…
概述 框架提供了excel数据驱动方式运行测试用例的工具,本文将针对数据驱动,进行详细演示. 详见类:lazy.test.ui.browser.ExcelDataProvider 被测对象: http://bj.sqyishi.com/user/login.htm 测试场景: 输入用户名,点击登录,校验各种异常输入 输入后,红框里会出现一些异常提示,如图: bean层代码: 使用插件生成 package test; import lazy.test.ui.annotations.*; impor…
  LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下: 1. 基本操作 /** * Open the URL * 打开一个URL * @param url * the target URL */ void open(String url); /** * 获取当前URL */ String getCurrentUrl(); /** * Refresh the browser * 刷新当前页面 * 包含重试和超时机制 * 不支持设置预先等待时间(通过设…
概述: LazyUI-template: 提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用例. 获取地址:https://github.com/lazytest/LazyTest-UI-Template/archive/master.zip 愿景: 1. 降低基于selenium的web测试工程搭建门槛: 2. 引入必要和好用的jar包依赖: 3. 提供良好的代码分层.配置文件提取.友好…
概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和三个唯一定位控件的xpath,以及被抓取元素的缩略展示,供使用者勾选,并生成基于LazyUI框架的Java代码,解决整个页面元素的获取问题. 下载: http://download.csdn.net/detail/kaka1121/9571942 拖拽安装到chrome即可右键使用 工具由来和设计思路在上篇…
概述: 本文详述8种控件对应的class,及可对其进行的操作 回顾: 回顾一下,下文中的工具设计思路部分: http://blog.csdn.net/kaka1121/article/details/51878346 详解: 如上图所示,8种控件对应的class,及可对其进行的操作已经罗列上去了,下面附上具体的API 1. 输入控件:Text /** * 进入iframe,找到控件 * 找到文本框或文本区域,先清除内容,再填写内容 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟…
原文地址:http://www.inter12.org/archives/834 一 PRODUCER的API 1.Producer的创建,依赖于ProducerConfig public Producer(ProducerConfig config); 2.单个或是批量的消息发送 public void send(KeyedMessage<K,V> message); public void send(List<KeyedMessage<K,V>> messages)…
引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Appium 框架的功能 (1)支持iOS.Android,可在多台机器上并行App 自动化,测试机型适配. (2)代码实现关键字驱动: 测试集:关联Excel 测试用例和脚本配置. 测试数据:Excel 存储输入数据.控件元素.测试结果. 测试脚本:由Java 和TestNG 编写,分层结构有case.log.…
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括使用方式,及相关介绍,都容易引人误解. 为此,我打算重新写个系列来介绍最新的版本,让大伙从传统的ORM编程过渡到自动化框架型思维编程(自已造的词). 于是:这个新系列的名称就叫:CYQ.Data 从入门到放弃ORM系列 什么是:CYQ.Data 1:它是一个ORM框架. 2:它是一个数据层组件. 3…
springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,info等度量的初级接口,可以用于监控项目的情况. 以下,将会分三部分,总结springboot的整合: 1,springboot的搭建 2,springboot的默认配置原理 3,springmvc向springboot迁移,整合,基于(app后台框架搭建三) ===================…
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题:其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受:自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的.本文通过分析几种自动化框架的异同,使测试人员在选择自动…
转自微信公众号:腾讯移动品质中心TMQ 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题:其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受:自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的.本文通过分析几种自动…
Selenium学习笔记 selenium webdriver是业界公认ui自动化测试的标准,其封装的api可以对浏览器的任何地方进行操作 selenium2.0和selenium3.0的区别? 3.0任何浏览器的厂商都支持selenium,他们只要给予驱动就可以了,2.0只支持火狐和谷歌 webdriver工作原理? 通过webdriver创建一个浏览器服务,remote server(底层服务).启动脚本后会通过驱动打开浏览器,并绑定端口,不同浏览器端口不同 client端创建一个sessi…
小编说:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API 来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>,了解本书详情请点击阅读原文. Appium 框架的功能 (1)支持iOS.Android,可在多台机器上并行App 自动化,测试机型适配. (2)代码实现关键字驱动: 测试集:关联Excel 测试用例和脚本配置. 测试数据:Excel 存储输入数据.控件元素.测试结果. 测试脚本:由Java 和TestNG 编…
一.App技术框架的类型 图1 三种App技术框架之间的关系 目前App的技术框架基本分为三种(图1): (1)Native App:互动型,iOS.Android.WP各一套,而且要维护历史版本,要安装,开发耗时长 一种基于智能移动设备本地操作系统(如iOS.Android.WP操作系统),并使用对应系统所适用的程序语言编写运行的第三方应用程序,由于它是直接与操作系统对接,代码和界面都是针对所运行的平台开发和设计的,能很好地发挥出设备的性能,所以交互体验会更流畅. (2)Web App:浏览型…
出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设计方案,满心欢喜地给开发讲解方案的思路和创意时,开发突然说一句:“这个方案实现不了”,这时你整个人都不好了,心里开始嘀咕“这么简单的设计都实现不了,你是搞技术的吗?”然并卵,在产品和开发的催促下,作为设计师的你只能加班加点地改方案.到底问题出现在哪呢?这其实是由于我们设计师对App技术框架的知识匮乏…
作者:cryanimal QQ:164166060 本文简要介绍了appnium自动化框架的架构.加载流程.支持语言.相关配置,以及元素定位工具等. 官方网站: http://appium.io Appnium是由SauceLabs支持,一家业界领先的测试产品公司, 有成熟的企业测试解决方案   Appium支持的平台 Android上使用了instrumentation和uiautomator两套技术 iOS使用uiautomation 同时还支持firefox, 并可扩展其他平台   App…
自动化框架的搭建:https://github.com/zjhsd2007/www 屏蔽掉的部分是Test(文件夹的目录 也是你的项目名称);本地项目启动后 配合sass,会自动启动浏览器,然后好处多多,比如我在编辑器中修改了代码页面就自动刷新了,可以马上看到效果;偶的Ctrl+f5键不用在担心了,不过网页有时有缓存需要自己再手动刷新一下,总体来说比较好用! node-sass 安装卡在 node scripts/install.js 解决办法 :http://www.tuicool.com/a…
1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免一些问题,在脚本编写过程中经常遇到的问题:1.代码混乱,难阅读:2.重复编码,效率低:3.需求变化,难维护. 如果一栋楼房的框架设计的不够合理,很可能会出现倒塌的情况,测试框架对我们编写自动化脚本的意义也同样重要,如果没有好的框架,脚本在执行过程中就会出现异常.自动化脚本的意义就是为了测试应用程序的…
作者:cryanimal QQ:164166060 本文简要介绍了appnium自动化框架的架构.加载流程.支持语言.相关配置,以及元素定位工具等. 官方网站: http://appium.io Appnium是由SauceLabs支持,一家业界领先的测试产品公司, 有成熟的企业测试解决方案 Appium支持的平台 Android上使用了instrumentation和uiautomator两套技术 iOS使用uiautomation 同时还支持firefox, 并可扩展其他平台 Appium的…