图文教程

从基础概念到工具实操,逐篇掌握测试技能。

517 篇内容

2017

appium简明教程(2)——appium的基本概念

appium的核心其实是一个暴露了一系列REST API的server。 这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium …

1 分钟阅读

appium简明教程(3)——appium的安装windows版

appium的哲学里有一条就是不重新发明轮子。同样,官方已经有明确的安装步骤了,因此在这里纯属搬砖。 原文地址 感谢testerhome的辛勤翻译。 本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任何商业用途 如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依 …

1 分钟阅读

appium简明教程(4)——appium client的安装

appium client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。 appium client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。 从本节开始,教程的内容将涵盖3个语言,ruby/python/java。 本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任 …

1 分钟阅读

appium简明教程(5)——appium client方法一览

appium client扩展了原生的webdriver client方法 下面以java代码为例,简单过一下appium client提供的适合移动端使用的新方法 新增的locator 这些方法主要覆盖了3大类: driver扩展:比如增加了resetApp等操作app的方法 action扩展:增加一些移动端的特有的action(怎么描述呢, …

1 分钟阅读

视频教程发布公告

大家好,我们很开心的宣布测试教程网的视频系列教程上线了。 目前我们有如下课程,高清视频,完全免费。 小白从零开始使用postman学习接口测试教程: 适合没有任何经验的小白测试人员,学完后可以掌握接口测试的基础知识以及postman的各种用法 robot framework系列教程: 适合有一定python基础的同学,学习rf是快速集成各种测试工具搭建测试框 …

1 分钟阅读

appium简明教程(6)——启动appium及android模拟器

一般情况下,我们都从命令行启动appium。 windows下,dos命令窗口输入 如果该命令报错,那么请重装appium 如果安装出错,请使用淘宝源。 淘宝源地址 然后请打开android的模拟器,如果没有请新建一个虚拟设备。请自行解除设备锁定(手动把屏幕解锁了),以防万一。 下面的代码以启动android原生的计算器程序为例 讨论:可以看出ruby …

1 分钟阅读

appium简明教程(7)——Desired Capabilities详解

Desired Capabilities在启动session的时候是必须提供的。 Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情: 本次测试是启动浏览器还是启动移动设备? 是启动andorid还是启动ios? 启动android时,app的package是什么? 启动android …

1 分钟阅读

appium简明教程(8)——那些工具

正所谓工欲善其事必先利其器,对于appium实战android来说,下面的这些工具(以windows系统为例)是必须熟练使用的。 monitor.bat(hierarchyviewer.bat已经不赞成继续使用了) 该文件位于your_andriod_sdk_path\tools下面。以乙醇的机器为例,其位 …

1 分钟阅读

(一)初始化环境

MacOS nodejs版本: 6.2.0 selenium-webdriver版本: 3.4.0 chrome版本: 版本 59.0.3071.86(正式版本)64位 chrome driver版本: ChromeDriver 2.30.477690 Windows TODO TODO chrome driver建议通过科学上网的方式下载。 下载地址 下载 …

1 分钟阅读

(二)实战: 最简单的自动化脚本

熟悉selenium webdriver 代码套路 体验元素定位的最简单情形 学会如何模拟输入键盘按键 将代码抄一遍,然后精读一遍,了解每一行代码的意义。 本节我们需要使用selenium打开chrome浏览器,跳转到百度首页(http://www.baidu.com),在搜索框中输入selenium并按下回车键。 新建文 …

1 分钟阅读

appium简明教程(9)——如何获取android app的Activity

有时候在appium的Desired Capabilities中需要指定被测app的appActivity,下面的方法可能会对你有所帮助。 方法一 如有你有待测项目的源码,那么直接查看源码就好。如果没有,那么请联系有源码的同学,这是推荐方法。 方法二 如果你没有代码,那么可以反编译该app。 这里将用到2个工具,分别是dex2jar和jd-gui。你可以在这 …

1 分钟阅读

性能测试基础(一)性能测试分类

关于性能测试有几个名词:性能测试、负载测试、压力测试、并发测试,很多人都是混合使用,或者有时压力测试,有时叫并发测试。这些名词除了非测试人员分不清楚,甚至许多专业测试人员也对这些名词也很模糊。关于这个分类我翻阅了一些资料,解释都比较模糊,并没有给出本质上的区别。只是从不同角度和关注点来解释。我们先来看看这些解释。 性能测试方法是通过模拟生产运行的业务压力量和 …

1 分钟阅读

性能测试基础(二)并发用户

一种是严格意义上的并发,即所有的用户在同一时间点做同一件事或操作,这种操作一般指做同一类型的业务。比如,所有用户同一时刻做并发登陆,同一时刻做表单提交。 另外一种并发是广义范围的并发,这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的。比如,在同一时刻有用户在登录,有用户在提交表单。 前 …

1 分钟阅读

性能测试基础(三)经典例子--理发店原理

接下来通过一个简单理发店模拟来理解系统的并发处理。 __前提:__ 1. 一个理发店有三位理发师傅。 2. 每位理发师傅服务一位顾客需要一小时。 3. 顾客都很忙,从进理发店起最多只能等待三小时(等待加 + 被服务的时间)。 思考: 这里我们来理解“最佳用户数”和“最大用户数”。 最佳用户数: 理发店的最佳状态,理发店收入最多(理发师傅没有休息时间,一直在理 …

1 分钟阅读

性能测试基础(四)吞吐量

我们每天的生活中都在用水用电,如果我们把水龙头拧到最大,还是一滴水不出。那我们就会找物业/房东去询问情况,但一般不会想过去找自来水公司解决。我们每天都会上网,看电影很卡,需要等很久才缓冲一个几帧;打开网页很慢,IE状态条一直50%,那我们就会找电信服务器商,而不是某视频网站的客服。 以上的情况是正常的,这是生活常识。我想说明的是,你可能从来不关心一个自来水厂 …

1 分钟阅读

性能测试基础(五)响应时间

站在用户角度来说,你可以将软件性能看作是软件对用户操作的响应时间。说得更明直白点,对用户来说,当单击一个按钮或链接,从用户单击开始到应用系统把本次操作的结果以用户识别的方式展示出来,这个过程所消耗的时间就是用户对软件性能的直观印象。 我们需要对这个过程进行分解,才能得到你真正想要的响应时间。我把整个过程分三个部分:呈现时间,数据传输时间和系统处理时间。 呈现 …

1 分钟阅读

性能测试流程(一)——问清性能需求

假如你一名新进公司的测试小菜鸟,在一次的早会中,领导突然分配给你了一个性能测试任务。我想此时的你是一脸的大写??,怎么办?怎么办? 这里会提供一个通用的测试思路,照着这个思路做,你就会顺利的完成性能测试。 首先,要问本次性能测试的需求是什么,或者性能测试的目的是什么? 我把性能测试按目的分以下几种。 1)新系统能力验证 比如,你们刚好开发了一个新系统,在上线 …

1 分钟阅读

appium简明教程(10)——控件定位基础

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

1 分钟阅读

性能测试流程(二)——了解系统架构

系统架构对于测试新手来是最难的;先来了解系统所使用的技术和框架,在环境搭建阶段,你需要了解项目的部署;在性能分析与调优阶段,更要深入这些技术的细节去分析。 下面看一个基本的系统架构: 表示层 表示层(浏览器)通过前端技术(HTML5/JavaScript/CSS3)将系统功能和数据展示给用户,并与用户实现交互。通过TCP/HTTP协议与业务层系统通信,向应用 …

1 分钟阅读