Lego测试平台05-网站篇

内部版:https://wiki.sankuai.com/x/Q0eYOg 本章开始介绍Lego网站部分的内容。 1. 组成 在“脚本篇”中,我贴出了一张目前Lego组成的图: 目前Lego由五个不同的项目组成,分别是“测试脚本”、“Lego-web页面项目”、“用于执行接口测试的base包”、“小工具集合Lego-kit”和“lego-job”,通过上图可以看出各项目间的依赖关系。 细化各个项目的功能,就是下图:

Lego测试平台04-用例篇

内部版:https://wiki.sankuai.com/x/PQcBOQ 1. 概述 我做自动化测试也好几年了,从 Robot 到 QTP,从 UFT 到 Selenium,从WebDriver 到 Appium ,从UI自动化到接口自动化,基本都玩了一遍,大大小小的文章也写了一些。 简单的说,自动化测试大致就是这个流程: 在测试圈里,看到很多同学对自动化也有很多的误区,比如说到自动化,谈的基本都是自动化测试工具,很少谈如何针对现有公司项目进行自动化,也很少谈及在公司最后落地的情况。

Lego测试平台01-介绍篇

接下来的几篇文章,我将介绍一下我在2016年,我在美团点评独立开发的一个工具平台,我起名为“Lego平台”。 简单的来说,这是一套关于接口测试的自动化测试解决方案,简单、轻量、灵活是它最大的优点,下面我将划分多个篇章,对“Lego平台”进行介绍,算是对这个项目做一个完整的总结。 有些部分可能不适合对外公开,所以文章将会有两个版本出现,一个版本是针对外部同学进行分享,将在公众号和我的个人网站同步更新;另一个版本是针对公司内同学进行分享,会发布在公司wiki上。 内部wiki版入口:https://wiki.sankuai.com/x/Vu6sNg 好,废话不多说,直接切入主题。

2016年度总结

看来这是delay最长的一次年度总结了,硬生生地拖到了第二年的四月。 期间强迫症又犯了,一直想等着自己的网站重新规划和设计好后再开始写文,但是网站一拖再拖,最后还是到了3月,才算重新弄好。 惯例还是先记录一下2016年大事件: 2015.12,负责双旦大促活动用户线与交易线压测与容量评估。 2016.01,GA打点自动化项目。 感觉像是做失败了的项目,虽然设计的很好,但是公司对打点的方案变化太快,最后虽然工具设计的很好,但是感觉并没有发挥想要的作用。姑且自认为是个失败的项目。 2016.02,Appium自动化项目。 啥也不多说了,UI果然还是有很多坑,APP UI更是深坑。 2016.03, […]

网站变更

本人名字中有个“达”字,所以就姑且起名为“逹先生说”。 好久没一本正经的写文章了,但是总觉得需要经常写一些什么,让自己的写文水平不至于倒退太多,所以开了公众号。 本人在一家互联网公司做测试一职位,后续会写一些生活和工作上的一些感悟与总结,欢迎各位感兴趣的朋友关注。

2015-拥抱变化

还没用习惯2015这个年份的数字,一年又将过去。 原本应该在12月初就写完的2015年度总结却也一直写到了今天才写完。又是超级忙碌的一年,这两天回看了一下我去年和前年的年度总结,越来越感概一年一年过的真快。按照惯例,先记录一下2015年一年的流水:

好久不见

2015 / 10 / 25 星期日 晴 不知不觉,又很久没有更新网站了。 很多人应该知道了,今年6月我又跳槽了,目前就职于大众点评,算是全新的开始。 这段时间来,对测试算是又有了不同的认识,很多工具已经不再使用了,比如以前写过很多文章的QTP,已经两年没有碰了,基本已经不怎么记得了,现在更多使用的是一些开源的工具。Selenium也是去年玩的东西了,基本毕业。现在会开始慢慢偏向移动端方面的一些测试,又有了更多新的目标。

Android 常用 adb 命令总结

针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。 Android Debug Bridge adb 其实就是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成: 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试 Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 […]

亿级用户下的新浪微博平台架构

序言 新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA)、高并发访问、低延时的强大后台系统支撑。 微博平台第一代架构为LAMP架构,数据库使用的是MyIsam,后台用的是php,缓存为Memcache。 随着应用规模的增长,衍生出的第二代架构对业务功能进行了模块化、服务化和组件化,后台系统从php替换为Java,逐渐形成SOA架构,在很长一段时间支撑了微博平台的业务发展。 在此基础上又经过长时间的重构、线上运行、思索与沉淀,平台形成了第三代架构体系。

appium简明教程 11 – 使用resource id定位

上一节乙醇带大家了解了appium的定位策略。实际上appium的控件定位方式是完全遵守webdriver的mobile扩展协议的。 这一节将分享一下如何使用resource id来定位android策略。 什么是resource id,这个不属于本文的范畴,大家可以点这里了解。 我们可以有两种方式来使用resource id进行定位: 使用findElement(By.id(“resourceId”))的方式。这也是原生的webdriver定义的方法,不过竟然在appium的官方文档里没有提及,属于隐藏技; 使用find_elements_by_android_uiautomator(‘ne […]

appium简明教程 10 – 控件定位基础

狭义上讲,UI级的自动化测试就是让机器代替人去点来点去的过程。 但机器去点什么(点上面还是点左边),怎么点(是长按还是轻触),这些东西是必须由代码的编写者所指示清楚的。 控件定位就是解决机器点什么的问题的。 一般说来,我们可以这样告诉机器:去点登陆按钮。 机器很笨,它并不知道什么是登陆按钮。因为登陆按钮是自然语言的描述。 如果你让一个人去点登陆按钮,那么他其实也是要经过一系列的脑补以后才可以做这件事的。

appium简明教程 8 – 那些工具

那片笑声让我想起我的那些tool 在我生命每个角落静静为我开着 我曾以为我会永远守在她身旁 今天我们已经离去在人海茫茫 她们都老了吧 都更新换代了吧 幸运的是我曾陪她们开发 啦…… 想她 啦…… 她还更新吗 啦…… 去呀 她们已经被风吹走散落在天涯 正所谓工欲善其事必先利其器,对于appium实战android来说,下面的这些工具(以windows系统为例)是必须熟练使用的。

appium简明教程 6 – 启动appium及android模拟器

一般情况下,我们都从命令行启动appium。 windows下,dos命令窗口输入 appium 如果该命令报错,那么请重装appium npm install -g appium 如果安装出错,请自行更换npm源。 npm -g –registry http://registry.cnpmjs.org install appium 然后请打开android的模拟器,如果没有请新建一个虚拟设备。请自行解除设备锁定(手动把屏幕解锁了),以防万一。

appium简明教程 3 – appium的安装 windows版

appium的哲学里有一条就是不重新发明轮子。同样,官方已经有明确的安装步骤了,因此在这里纯属搬砖。 原文地址 感谢testerhome的辛勤翻译。 限制 如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依赖OS X专用的库来支持IOS测试。这意味着你只能通过在mac上来运行IOS的app测试。这点限制挺大。

appium简明教程 2 – appium的基本概念

Client/Server Architecture appium的核心其实是一个暴露了一系列REST API的server。 这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium server再把执行结果返回给client。 在这里client其实就是发起command的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义点理解,可以把client理解 […]

2014-忙碌的一年

2014年的总结已经在电脑里放了一个多月了,一直没放出来,细数下来,从2012年到现在,这是第三次写一年总结。匆匆忙忙的一年,2014年注定着这是一个非常繁忙的一年。首先码一些这一年的流水。 2013年11月,在做了去年的总计《2013》后,去了趟成都,散散心,五天时间匆匆而过,有时间,还是应该导出走走的。