自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anthony_tester的博客

公众号:AnthonyTestDevHouse,探索从QA角色到开发角色的转换之路(Q群574103281)

  • 博客(32)
  • 收藏
  • 关注

原创 接口测试基础-2-设计接口用例方法

前面我们已经介绍了什么是接口测试和接口测试的意义。在开始接口测试之前,我们来想一下,如何进行接口测试的准备工作。或者说,接口测试的流程是什么?有些人就很好奇,接口测试要流程干嘛?不就是拿着接口文档直接利用接口测试工具测试嘛。其实,如果只是三五个接口,你可以这么做一个临时的接口测试。但是,如果是上百个接口,或者,你们公司的这个项目,第一次做接口测试,那么,我们还是很有必要遵守测试的流程。1.接口

2017-08-31 22:56:51 9553

原创 requests库入门-16-Session和Cookie

我们可能听说了Session和Cookies,面试中可能也会被问到这个两者之间的区别。本篇主要通过画图来理解两个机制,然后通过回到两个机制的不同来结束整个Requests的学习。1.为什么需要Session和Cookie       我们知道HTTP是一种无状态的响应。上一个请求和下一个请求没有任何关系。但是现实过程中,需要这些请求之间有关系。例如,你在首页登录,但是进入到列表页就显示没有

2017-08-31 14:22:27 4456 7

原创 接口测试基础-1-什么是接口测试

前面写过了Python接口自动化入门只requests篇,想了一下,还是把接口测试基础入门给介绍一下。在做接口自动化测试之前,还是有必要介绍接口的手工测试一些基本概念的方法。预计会写十篇左右介绍接口测试入门,第一篇,主要介绍什么是接口测试。1. 为什么要做接口测试       在日常开发过程中,有人做前端开发,有人负责后端开发。接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例

2017-08-31 13:28:13 16253 4

原创 requests库入门-15-OAUTH认证

前面一篇文章,我们知道了HTTP中的基本认证机制,我们知道基本认证还是不是很安全,这篇介绍另外一种认证机制,OAUTH认证,现在最新应该是2.0版本。那么什么是Oauth认证呢?其实,我们几乎每天都在使用这个认证登录不同app或者网站。例如,现在csdn网站支持QQ登录和微信登录,这个就使用到了OAUTH认证机制。因为,我们前面一直在拿githua网站举例,这里也不例外,下面这个例子,能够帮助你理

2017-08-30 15:13:08 3458 2

原创 requests库入门-14-HTTP基本认证

本篇介绍HTTP基本认证,在HTTP请求过程中,有些请求是对外开放的,任何人都可以请求得到数据,有些请求是需要授权才能得到响应的。授权其实就是一个检查用户名和密码的过程,这个在HTTP中有一种基本认证方式,就是需要客户端给服务器端发送用户名和密码,服务器拿到用户名和密码之后去校验,如果校验通过,就给我客户端发送响应内容。如果校验失败,就返回HTTP错误代码401,提示未授权或者授权验证失败。1

2017-08-30 14:11:13 3343 1

原创 requests库入门-13-如何下载一个图片资源

前面一篇文章介绍了response对象的一些常用API,也已经提到,我们的重点是对response对象的操作。主要的操作就是数据分析和提取,一般来说,数据有很多种,有字段,有图片,有视频,有音频,凡是html页面能支持的content-type都是数据。只是不同场景下,有不同目的。例如,加入你需要在一个图片网站,爬取一些你敢兴趣的图片。或者你需要在一些招聘网站爬取职位信息,或者,你需要从服务器端下

2017-08-30 10:42:04 7710 6

原创 requests库入门-12-response对象的API

前面文章我们一直在介绍请求,各种请求方法的使用,作为请求回来的response对象,没有过多介绍。这篇就来介绍response的对象和常用的API。我们不管是接口测试还是爬虫,最关心的是请求回来的数据的提取。本文介绍的这些方法,能够让你完成这个数据解析和提取的目的。1. HTTP状态码       前面我们也输出过response.status_code,如果请求正常,返回的是一个200这

2017-08-29 21:32:07 4302

原创 requests库入门-11-自定义请求

我们已经学会了通过requests.get()或者requests.post()实现发送请求。看起来很简单,是不是,也很好用。但是你知道requests底层是如何实现的吗。还有,我们有时候需要定义一些我们自己特定情况下的请求。为了解决这个问题,你需要遇到requests的文档中高级的部分。1.文档位置       浏览器打开http://cn.python-requests.org/zh_

2017-08-29 17:06:50 2998

原创 requests库入门-10-请求异常

本篇来介绍请求异常。requests库中有一个RequestException的父类,它下面有很多种不同的异常分类。为什么要考虑异常呢,因为很多开发都不考虑异常,特别是调用第三方API的时候,他们认为第三方服务是一直工作的。作为测试,更加需要考虑异常,测试接口,需要测试正常的工作,更新需要测试异常。找出在异常情况下接口或者程序的反应,这个才是测试工程师的最大价值。而不是永远考虑软件在做对的事情,而

2017-08-28 17:35:18 8783

原创 requests库入门-9-DELETE方法举例

前面一文介绍了POST方法举例,我们通过POST方法给自己账户添加了一个邮箱。常言道,有添加就有删除,所以这篇来介绍删除的请求。我们这里,把前面添加的QQ邮箱通过DELETE请求给删除,然后同界面来检查一下是否删除。1. 观察删除邮箱的接口文档2.Delete请求的具体实现import jsonimport requestsURL = 'https://api.github

2017-08-28 17:02:37 10464

原创 requests库入门-8-POST方法举例

前面我们完成了在github上做GET和PATCH的实战练习。这篇,我们来学习一下,POST的请求练习。通过前面文章介绍,github中POST请求的参数也是json格式。具体来看下面的步骤。1.打开user/emails接口文档部分从这个接口文档来看,email,我们写到json中去。例如我们添加一个邮件,json=['[email protected]']2. 该POST方法

2017-08-28 16:46:13 4911 3

原创 requests库入门-7-json参数请求举例

本篇来举例一个json字符串作为一个参数传入接口的例子。通过github上API文档,github上大部分接口(除了GET方法之外)都是采用json作为参数传入的。所以,这个是学习重点,实际工作中,页是前面一篇的parmas参数和json参数两种传参用得比较多。不多说,开始我们的举例。1.之前前面获取自己用户账号信息的请求,我的账号得到信息如下上面可以看出,我的账号下name 和ema

2017-08-28 13:48:25 4233 14

原创 requests库入门-6-Params参数请求举例

前面一篇,我们介绍了三种带参数的请求类型划分。这篇,介绍通过github上的API,来举例一个params参数接口的演示。先找到如下图位置,地址是https://developer.github.com/v3/users/      看到上面的红圈的参数"since",待会我们需要。阅读下这个接口的作用,大致是打印出今天所有登录github的用户的信息,有时候我们不想看所以,所以这个地

2017-08-28 11:36:13 16918 4

原创 requests库入门-5-带参数的请求类型

前面一篇,我们介绍了请求方法。举例了一个没有参数的请求,这篇,我们介绍带参数的请求。一般来说,接口都有参数的,参数有的是必须带的,有的参数是不必须。基本上,HTTP请求中,有三种参数类型。1. URL参数        注意,这种参数是最简单的。参数可以直接拼接在URL后面,问号(?)前面是接口的请求地址,后面是多个参数用连接符(&)连接。这个常见的例子就是淘宝,你可以打开淘宝,点击一

2017-08-27 00:02:13 9683 2

原创 requests库入门-4-HTTP请求方法和用requests举例不带参数的请求

本篇我们来学习HTTP中常见的请求方法,一般我们都知道有GET和POST两种,其他的可能就记得不是很清楚。其实,和数据库操作一样,HTTP请求也有好几种,至少是有增删改查这四种方法。为了弄清楚这几种方法和方法的含义,我直接从别的网上截图贴到这里。      看完之后,很多人会说GET就是用来获取信息的,POST是用来发送数据到服务器,例如提交表单。而HEAD这个请求头部报头速度非常快,很多

2017-08-26 22:21:14 7186 2

原创 requests库入门-3-urllib和requests小程序

在介绍使用requests之前,不得不介绍python种自带的urllib这个库,如果你安装的是python2.7.x,那么你可能发现了,还有一个urllib2。甚至,你可能还知道有一个urllib3.urllib是python最早就自带的,相当于原生的处理url相关的事件。后来由于需要,开发了urllib2,两种的关系是互相独立的模块,在实际使用过程,可能会两者结合使用。在python3中,可能

2017-08-23 22:59:09 5214 4

原创 requests库入门-2-简单了解HTTP协议

前面一篇文章,我们介绍了Python3环境下如何安装requests。除了这个环境安装之外,我还建议你安装一个Python IDE环境,我这边用Pycharm这个工具,同样这个可以在Python3系列教程找到相关文章,教你如何下载和安装以及简单设置Pycharm环境。在使用requests之前,我们需要花一些时间去学习和了解HTTP协议,requests是处理HTTP相关的一个功能强大的类库。

2017-08-21 22:41:20 5242

原创 requests库入门-1-安装requests库

最近项目很忙,活很多,也经常加班,八月份的博客文章更新比较少,其中有一个和测试任务并行的工作,编写接口自动化测试框架。我在实现了Python+requests+unittest+HTMLTestRunner这个接口自动化测试框架demo之前,做了一些接口测试方法和工具的调研,主要写了如何一步一步用Postman进行接口测试、常见接口测试工具的调研,例如JMeter,soupUI,loadrunne

2017-08-20 23:31:43 12314 1

原创 Android Monkey测试入门-8-Monkey高级参数之忽略崩溃和超时

本篇介绍Monkey的两个参数,设置忽略崩溃和没响应的状态,继续运行。一般来说,如果app出现崩溃,那么monkey是不知道要干神马事情的,因为app都死机了,还有一种情况就是程序没有响应(application not responding,简称ANR),超时没响应的时候,monkey也不知道在干嘛。针对这两种错误,monkey可以通过指定参数去忽略崩溃和异常和ANR。1.--ignore-

2017-08-19 22:47:06 6823 1

原创 Java+Selenium3框架设计篇6-如何解决多条类下用例执行只启动一次浏览器的问题

       前面我们实现了在setUp方法中添加登录的用例。今天,还是为了解决我们遗留的问题,如果执行多条测试用例,这些用例在不同类文件下,我们只需要启动一次浏览器,登录一次,然后根据顺序去执行多个类文件下的用例,最后退出并关闭浏览器。解决思路:1.在一个类文件中执行多个用例,我们现在没有问题2.假如我有两个类文件,每个类文件都包含一个测试用例。如何保证用例A执行完后的driver如...

2017-08-18 22:47:08 11695 14

原创 Android Monkey测试入门-7-Monkey其他事件

前面一篇我们介绍了Monkey中的touch事件,也就是我们经常说的点击或者触屏事件。什么叫点击呢,就相当于按下电脑上的键盘,按下去,然后松开,这两个动作叫点击。在Monkey中,除了touch事件,还定义了其他10种事件。1.看看monkey中包含哪些事件我们命令行中--pct-touch后面跟着80,看到上面圈红圈的,可以看到0表示的是touch事件。2.motion事件什

2017-08-17 23:45:49 3099

原创 Java+Selenium3框架设计篇5-如何实现邮件发送测试报告

本篇继续回答网友的问题,这个主题是如何通过邮件发送测试报告。通过邮件发送测试报告,这个很重要,也很有必要。不管你使用什么自动化测试框架,都建议添加发送测试报告的功能。先来设计我们的发送邮件的场景:假如我们测试报告是固定的名称,放在固定的路径下。1.下载java mail api包       浏览器打开https://mvnrepository.com/artifact/com.sun.m

2017-08-16 22:15:57 9188 8

原创 Java+Selenium3框架设计篇4-如何实现登录功能放在setUp()方法中

本篇主要是回答一个网友的问题,就是他可以执行登录,但是登录之后的用例就执行不了,报空指针异常。在这里,特意用京东网站,结合testNG来举例实现这个功能,解决这个报错。我们的场景大概是这样的,我需要先登录,然后在京东首页搜索一个商品。就这么一个简单的测试场景,我们的测试用例的重点是在搜索商品,测试的前提条件是登录。解决思路:1. 登录是搜索的前提条件2.登录能不能封装到一个普通类中去,

2017-08-15 23:08:09 6125 11

原创 Android Monkey测试入门-6-Monkey高级参数之触摸事件

这篇我们来介绍Monkey的触摸事件,我们反复强调,Monkey是随机发送事件的。但是有时候,我们需要,只做一件事件,例如,我们只需要做点击事件,在app中,点击一般叫触摸,对应单词是touch。1.只做100%的touch事件,下面的100表示百分比,10表示随机事件次数2.通过添加-v参数,可以看到详细的信息上面0表示touch事件,0到11表示不同事件类型,例如有旋转事件

2017-08-14 23:10:24 5301 1

原创 Android Monkey测试入门-5-Monkey高级参数之seed

前面一篇我们学习了Monkey的高级参数之throttle,主要是用来控住执行速度。这篇,介绍另外一个高级参数seed。seed是什么意思呢,神奇的种子吗?先来,思考这么一个场景,我们用monkey做随机操作,结果发现了一个bug。如果我们用之前学过的命令,由于monkey是随机产生事件,所以,我们是没有办法去重复当时出现bug的步骤的。如果你学习了seed之后呢,这个问题就很好解决。原来monk

2017-08-14 22:15:02 7567

原创 Android Monkey测试入门-4-Monkey高级参数之throttle

前面一篇文章,我演示了如何利用Monkey给手机百度,做随机100个事件。我们知道,一共差不多耗时1.7秒不到,完成了1000个事件。这里要解释一下,我们肉眼看到的事件肯定没有1000个,一般点击事件,有交互效果,才能被我们眼睛识别,主要有点击事件,输入事件和滑屏事件,还有其他事件,这1000个每种事件是随机分配的。由于执行时间很短,看起来很快,那么有没有办法,让执行速度慢一点,我们可以看得更清楚

2017-08-14 21:57:39 3022 2

原创 Android Monkey测试入门-3-Monkey给指定app打压

前面我们介绍了ADB的几个常见的命令,这篇开始学习Monkey的知识。总的来说,我们知道Monkey是一个app稳定性测试工具。由于Monkey可以给app做很多次随机事件,所以Monkey也有时候当做app的压测工具。       下面我们举例,Monkey给手机百度这个app做随机1000个事件,看看我们的命令如何写,在输入完命令之后,你可以盯着你的手机看看Monkey的测试效果。

2017-08-14 21:47:44 6328 1

原创 Android Monkey测试入门-2-ADB安装和卸载命令

前面一篇,我们安装了Android SDK环境,里面有一些工具是我们接下来要用到的。在学习Moneky之前,我们来学习几个ADB命令。如果一个专门做app测试的,说自己不会用adb安装软件,说明这个人真的只会做功能测试,而且是前面界面那种简单的功能测试。记得,在之前的公司招聘测试工程师的时候,我问过很多人两个关于app测试的问题。第一个就是android和iOS安装包的后缀名是什么。第二个就是你会

2017-08-13 23:18:38 6517

原创 Android Monkey测试入门-1-Android SDK环境安装

本系列开始,我们介绍android app的测试。由于大部分人没有同时有iPhone手机和iMac笔记本电脑,所以,我们只介绍android app的自动化测试技术。主要有两个主题,Monkey压力测试和appium前端功能自动化测试。我们先来学习下,android中Monkey的测试。在开始Monkey测试之前,我们先来了解几个问题或者叫概念。1.    什么是Monkey?

2017-08-13 14:30:31 27231 10

原创 Java+Selenium3框架设计篇3-利用京东来举例实现POM和测试页面基类

前面一篇,我介绍了BasePage.java的内容,解释了写这个类的好处。主要有二次封装selenium一些常见方法,还有就是创建所有页面类的父类。这篇,我们借助京东商城这个网站来举例如何实现POM并测试我们的BasePage类。完整eclipse项目结构图如下:1.BasePage.java内容。       由于点击一个商品,会在新tab打开显示商品详情页,所以,这里我们需要用

2017-08-09 23:25:44 8607 11

原创 Java+Selenium3框架设计篇2-Selenium方法的二次封装和页面基类

前面我们介绍了如何设计支持不同浏览器测试,我们的解决方法是,通过切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试。我们暂且叫浏览器引擎类,这个类负责获取浏览器类型和启动不同浏览器,并做一些前提操作,例如最大化浏览器窗口和,打开测试服务器地址。接下来,这篇我们介绍如何封装几个Selenium方法到我们的页面基类中去。在这之前,我们要解释一下页面基类,看到基类,我们想起了继承。没错,

2017-08-06 22:57:21 9050 1

原创 Java+Selenium3框架设计篇1-跨浏览器支持

本篇开始介绍Java+Selenium+POM的简单自动化测试框架设计。第一个设计点,就是支持跨浏览器测试。从我个人角度来说,跨浏览器测试。同一个测试用例,支持用不同浏览器去执行。我们这里只考虑winodws平台的浏览器,而且只关注火狐和谷歌浏览器的自动化测试,我们已经知道IE执行很慢,而且容易出问题。那到底要怎么做呢,才能支持一个自动化用例能够在不同浏览器上运行?我是通过读取配置文件的值,来切换

2017-08-02 21:21:27 7640 22

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除