- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
接口自动化测试背景介绍简介功能测试、性能测试、GUI自动化回归测试已经能够满足我们的测试需求,保证网站质量,而随着产品功能越来越多、系统架构越来越复杂、新人越来越多,一些预想不到的缺陷出现在我们面前,我们必须要寻找一种更加有效的测试方法来适应当前的变化,保证产品的质量。因此接口测试应运而生。对于Web接口应用,包含浏览器与服务器交互的HTTP协议的接口和webService接口,软件测试人员在日常的测试工作中,需要大量的手动操作来验证接口的功能。开发人员在开发过程中,需要访问其应用并且验证其功能是否正常运行,反复调试重复验证。系统维护人员也需要经常访问其应用,以确保系统的正常运行。如果某系统的接口较多,功能较为复杂,如上所述的这些操作就需要花费大量的时间和人力,如能引入自动化测试代替人工重复操作,将极大地提高团队的生产效率。在这里,我们将介绍如何使用HttpClient框架完成接口自动化测试。web接口自动化测试如今,大多数的应用软件是基于Web的应用程序并通过浏览器展示给用户并与之进行交互。不同公司和机构组织都需要测试这些应用程序的有效性。在一个高度交互性和响应的软件时代,许多组织及团队倾向于运用敏捷开发理论,自动化测试一定程度上成为了敏捷开发流程中不可或缺的手段。所谓自动化测试,就是执行自动测试工具或者用某种程序设计语言编写程序,控制被测软件中的各种模块,模拟手动测试步骤,完成测试的过程。测试自动化有很多优点,比如:频繁快速的迭代回归、高效的测试反馈、一致与重复性的执行、化繁为简的形式、弥补手工测试的可能遗漏缺陷等。目前也有许多商业和开源的软件,可辅助面向Web接口自动化测试,如:HttpClient、HttpUnit、HtmlUnit、JwebUnit等。HttpClient是一个功能丰富支持HTTP协议的客户端编程工具包,能够很好满足我们对接口的自动化测试。协议请求HTTP协议 HTTP协议即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。请求信息请求行: 例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件。请求头: 例如Accept-Language: en。空行可选消息体: 请求行和标题必须以CRLF作为结尾(也就是,回车然后换行)。空行内必须只有CRLF而无其他空格。在HTTP/1.1协议中,所有的请求头,除post外,都是可选的。请求方法HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URL制定的资源不同操作方式。比较常用的方法有HEAD、POST、GET方法。HEAD: 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传 输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。POST: 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。 POST请求可能会导致新的资源的建立和/或已有资源的修改。GET: 请求获取Request-URL所标识的资源。HEAD方法和GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息时相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URL所标识的资源信息,该方法常用于测试连接的有效性,是否可以访问,以及最近是否更新。在本文使用的接口自动化框架中,主要使用POST和GET方法发送请求,下面对这两种方法简单做一下比较:GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以相连,如 EditPosts.aspx?name=test1id=123456。POST方法是把提交的数据放到HTTP协议包的Body中。GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限 制。GET方式提交数据,会带来安全问题,比如一个登陆页面,通过GET方式提交数据时,用户名和密 码将出现在URL上,如果页面可以被缓存或者其他人访问这台机器,就可以从历史记录获得该用户 的账号和密码。响应信息在接收和解释请求消息后,服务器返回一个HTTP响应信息。HTTP响应也是由三个部分组成,分别是:状态行、响应头信息和响应正文。状态行:包含HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器返回的响应状态码; Reason-Phrase表示状态代码的文本描述。响应头信息:包括通用头、请求头、响应头和实体头四个部分。(具体内容可以去网上查阅相关内容)响应正文:响应
文档评论(0)