UI“三重天”之实践Uiautomator1】的更多相关文章

说起来Uiautomator也有一年没碰过了.借此来回顾.总结一下. 也是阅读<精通APP自动化测试>一书.实践出真知的一个框架.编写了部分移动端UI自动化脚本.后续再深入学习. 虽然现在对移动端的技术掌握的不深.但是也是职业生涯.技术中涉及到的一部分.为以后捡起来的速度快一点.便开了这么个类别.  一些知识喜欢用思维导图去整理,这部分也是如此,图中涵盖定位元素方法.部分API.以及真机运行步骤过程. 后边的实例会跟上.…
基于 Vue.js 之 iView UI 框架非工程化实践记要   像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引用一下,不需要就删除.故观念使然,尽管 Nuget 和 Maven 用得顺溜,但对 NPM 仍不带感,兴许是周边无人带动的稀薄气氛,也或者是没参加过类似的大型活动,于是在自发性上差了许多.再者,我不用 MVVM 模式,领导也不会扣绩效. 为了快速体验 MVVM 模式,我选择了非工程化方式来起步,并选…
React 与 AJAX React只负责处理View这一层,它本身不涉及网络请求/AJAX,所以这里我们需求考虑两个问题: 第一,用什么技术从服务端获取数据: 第二,获取到的数据应该放在react组件的什么位置. React官方提供了一种解决方案:Load Initial Data via AJAX 使用jQuery的Ajax方法,在一个组件的componentDidMount()中发ajax请求,拿到的数据存在组件自己的state中,并调用setState方法去更新UI.如果是异步获取数据,…
本文来自尚妆前端团队南洋 发表于尚妆github博客,欢迎订阅! 前言 尚妆大前端团队使用 weex 进行三端统一开发有一段时间了,截止本文发表「达人店」APP大部分页面都已经用 weex 进行了重构,在此期间也积累了一些基础组件和业务组件. 之前维护组件的方式是在达人店项目的工程内维护一个 components 文件夹,随日常开发迭代,并行需求与开发人员的增多,这种维护方式也暴露出一些问题. 1.开发人员可以随意跟随需求开发修改 components 内的组件,破坏约定好的规范,或埋入 bug…
像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引用一下,不需要就删除.故观念使然,尽管 Nuget 和 Maven 用得顺溜,但对 NPM 仍不带感,兴许是周边无人带动的稀薄气氛,也或者是没参加过类似的大型活动,于是在自发性上差了许多.再者,我不用 MVVM 模式,领导也不会扣绩效. 为了快速体验 MVVM 模式,我选择了非工程化方式来起步,并选择使用 Vue.js,以及基于它构建的 iView UI 框架. V…
关注一下UI自动化,记一记笔记. UI自动化的优缺点: 关于UI自动化的优缺点想来大家都有了解,优点:解放人力(并不是完全解放),用机器(涵盖工具.脚本等)代替人工完成测试工作,将测试用例转化为脚本实现,其大部分的使用阶段在回归测试阶段.缺点:难维护,依赖于前端. web端混的风生水起的非Selenium莫属,app端的Uiautomator.appium等等. UI自动化的核心: UI自动化的核心还是定位元素. Web端“一哥”--Selenium: 了解一项技术,最权威的依然是官方文档,贴传…
移动端自动化技术和接口自动化技术是接下来需要深究和拓展的两方面,基于之前的薄弱基础,重温一波,本篇内容便是android UI自动化框架Uiautomantor1. 介于对移动端自动化并没有实际应用的尴尬处境,还是以<精通APP自动化测试>一书中的Uiaumator章节进行操作,也是将前面一篇落地. 环境搭建: 1.JDK 2.Android SDK 具体的环境变量配置便不再多记. 开发编译工具为eclipse.(可自定义) 众所周知,UI自动化技术核心点还是定位元素,此处当然也不例外,定位元…
官方介绍: Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using the iOS, Android, or Windows SDKs. Mobile web apps are we…
Selenium常用API: 前面两篇示例代码中用到了一些selenium的API方法,例如定位元素的八种方法.访问url.等待.操作浏览器.获取title.点击.清理等等. 有关于selenium的常用API在园子中有写的非常详细的文章.先贴大佬文章地址:https://www.cnblogs.com/Ming8006/p/5727542.html#c1.5. 对于几种用的比较多的地方再记录一下: 等待: 显式等待:等待条件成立,再继续执行 示例代码中含有显式等待: // Google's s…
基础示例代码: /** * @author Richered **/ package com.sample; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class TestBaidu { public static WebDriver driver = null; public static…
转载~~~~~~~~~~~~~~~~~~~~~~~~ 若有侵权,请及时联系本博主,博主将第一时间撤销 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的…
从Web借鉴UI设计 用户体验已经成为衡量应用软件质量的重要标准.在过去我们可能会惊叹于某个Web应用的华丽界面,现在,随着HTML5的强势登场,各类表现层技术及开发框架的发布,Web与窗体应用的界限正在被逐渐模糊.虽然技术已经焕然一新,但很多开发人员并不是专业的信息架构师,可能还在使用传统的.平凡的UI设计风格.富应用已成定局,过去难以实现的效果在今天看来已如此简单.本文旨在通过借鉴Web界面设计经验,来探寻系统UI设计的最佳实践. 一 指导原则概述 系统是自描述的 对于好的UI设计系统应该易…
这个只是单纯的mark一下.还没有认真去研究.鉴于最近也不会做手机的自动化测试,所以留作以后参考吧. 转自: http://blog.chengyunfeng.com/?p=504 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不…
[原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式是因为确确实实一个项目开始去做自动化测试,由于公司当时有个内部研发项目,类似目前的“58同城”之类网站,不过最终由于各种原因,这个项目停掉了,可以看出腾讯内部其实在创新这块,有很多好的创新应用,但好多没做起来,也许是天时,地利,人和各种情况没有发生“共振”,造成了很多产品流产,也挺心痛的. 今天我们…
自动化 说到自动化,我真的很不喜欢UI这层去做实践.前置条件要求比较严谨,如果不满足特定的前置条件,那么成本实在太大了. 投入与产出差过大,效果打折扣.从互联网来说,UI自动化是入门门槛很低的一种实践,但是互联网能满足这种前置条件的产品感觉并不多. 其一:它需要产品是维稳的,即变动不是非常的大. 其二:对于元素会有一定的要求,比如web,那么对html的页面元素就会希望开发能规范ID或者class等:对于PC应用,也则需要有可识别的ID,包括移动APP也是. 常见使用的工具一般集合在:selen…
本篇文章以整理为主,自己进行了部分修改,如有侵权,请告知 CSS Modules介绍 CSS Modules是什么东西呢?首先,让我们从官方文档入手:GitHub – css-modules/css-modules: Documentation about css-modules CSS模块就是所有的类名都只有局部作用域的CSS文件. 所以CSS Modules既不是官方标准,也不是浏览器的特性,而是在构建步骤(例如使用Webpack或Browserify)中对CSS类名选择器限定作用域的一种方…
AngularJS 速成 视图 因为AngularJS 依靠浏览器去解析模板,所以要保证模板是有效的HTML.尤其要小心闭合号HTML标签(未闭合好的标签不会产生任何错误信息,但会让视图不能正确渲染).AngularJS 在有效的DOM树下才能好好工作. AngularJS 扩展了HTML的词汇库(增加新的属性或HTML元素,并告知浏览器如何解释它们),这类似于创造了一门基于HTML的领域特定语言(domain-specific language, DSL),并指导浏览器如何理解它.因此,常听到…
前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS:一句话概括:HTML 是骨骼, CSS是皮肤, JS只是夹在中间的神经组织!细说的话:HTML是由多种骨头(标签)组成的骨架.HTML5是更多的新骨头(标签),同时去掉了以前觉得不好用的骨头.CSS是皮肤.CSS3是更美的皮肤JS控制单个动作.(抬手,张嘴,放下手,抬腿,转头,握拳等)jQuery…
导语 前面几篇文章介绍了在Macaca实践中的一些实用技巧与解决方案,今天简单分析一下Macaca的基础原理.这篇文章将以前面所分享的UI自动化Macaca-Java版实践心得中的demo为基础,进行一下实例讲解. Macaca的基本组成 通过对源码各个模块的分析,可以帮助我们对Macaca的整体构成有一个基础的认识.Macaca已经开源,相关的源码在对应的github上都可以下载: https://github.com/macacajs. 大家会在alibaba集团的开源github上找到ma…
一,uiautomatorviewer是什么? Android 4.1发布的,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的测试可以分离团队的开发人员和测试人员.大家各干各的没有太多的交集. 常用的UI测试方式就是人工验证啦,就是…
PageObject是UI自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更加专注于业务的操作,从而提高测试用例的可维护性. 1.认识Page Object Page Object设计模式的优点: 减少代码的重复 提高测试用例的可读性 提高测试用例的可维护性,特别是针对UI频繁变化的项目: Page Object应遵循以下原则进行开发: Page Object应该易于使用 有清晰的结构,如PageObject对应页面对象,PageModules对应页…
上一节是自己对网络层的一些重构,本节是自己一些代码小实践做出的一些demo程序,基本涵盖大多数UI控件操作. 一.用UISlider实现调色板 假设我们现在做一个demo,上面有一个View用来展示颜色,下面有三个UISlider滑竿分别控制RGB的色值,随着不同滑竿的拖动上面view的颜色会随之改变. 可以先脑补一下不用RAC该怎么写. 如果使用RAC只需要将三个信号包装起来用适当的操作就能实现. // 拖线的UI控件 @property (weak, nonatomic) IBOutlet…
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 说明 其实最开始写的,就是这个ABP框架实践基础篇.在写这篇博客之前,又回头复习了一下ABP框架的理论,如果你还没学习,请查看ABP框架理论研究总结(典藏版),完成了理论基础的教程,再次回头来完成这个实践基础的教程.这也算是理论实践相结合了吧!但是,不管理论基础也好,还是实践基础也罢,毕竟都是基础教程,所以,很大程度上是带领新手快速熟悉这个框架或者很多基本的用法.想要彻底地掌握这款框架,请期待我后面的ABP理论高级篇和 ABP框架实战高…
关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建html.js文件夹 安装框架 安装前端框架 1) 安装bower包管理器 2) 初始化bower.json文件 3) 安装angular等框架 安装服务器端框架 1)安装http-server模块 2)安装其他模块 启动服务器 开始单元测试 编写功能代码 编写测试代码 单元测试配置 运行单元测试…
引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了.在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线性布局(Linear Layout).…
UI实时预览最佳实践 概要:Android中实时预览UI和编写UI的各种技巧.本文的例子都可以在结尾处的示例代码中看到并下载.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request.本文的代码主要是基于作者的实际经验编写的,如果你有其他的技巧和方法也可以参与进来一起完善此文. 文章固定连接:https://github.com/tianzhijiexian/Android-Best-Practices/blob/master/2015.9/ui/u…
前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要介绍了DDD的User Interface层的实现,详细讲解了controller.dto的职责和实现,已经UI层使用到的公共组件:CheckLogin.Loging.Validation的职责和实现细节.文末附有github地址.相比于<领域驱动设计>原书中的航运系统例子,社交服务系统的业务场景…
一.背景汽车导航作为ToB业务,需要满足不同汽车厂商在功能和风格上体现各自特色的需求.针对这种情况,传统的UI开发方式,基本上是一对一的特别定制.但是这种方式动辄就要500~600人日的工作量投入,成为业务发展的重要瓶颈.因此,能够对导航UI进行快速定制开发,成为汽车导航业务UI开发的必解课题. 高德地图技术团队希望打造一套快速精准的UI解决方案,通过自动化的方式生产UI代码,解放研发生产力的同时满足客户需求. 二.方案调研为了避免重复造轮子,我们调研了行业上现有的UI自动化生成方案.主要分为两…
目录 加薪攻略之UI组件库实践-storybook 一.业务背景 二.选用方案 三.引入分析 项目结构 项目效果 四.实现步骤 1.添加依赖 2.添加npm执行脚本 3.添加配置文件 4.添加必要的webpack配置 5.准备项目中的组件 6.为组件添加story 7.运行storybook 五.插件运用 1)动态交互展示组件属性 2)相关文档展示 Knobs 1.安装 2.注册 3.使用 vue-info 1.安装 2.注册 3.在没进行全局配置时,可单独引入使用 六.结尾 加薪攻略之UI组件…
本文首发于果的博客园,原文链接:https://www.cnblogs.com/yuxiuyan/p/14992682.html, 转载请注明出处. UI自动化 我们为什么要搞UI自动化 可能很多同学都有疑问:我们写了这么多单元测试,为什么还需要UI自动化测试呢? 按照测试金字塔理论,其实每种类型的测试都有自己的意义,UI自动化的意义就在于更贴近用户真实场景的校验,比如对于手机QQ来说,我们需要确保主流程的真实链路是通畅的,而单元测试和接口测试很难做到这一点. 我们需要多少用例 UI自动化的意义…