接口自动化-接口自动化测试注意情况

1、get和post的区别?

GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
GET书签可收藏,POST为书签不可收藏。
GET能被缓存,POST不能缓存 。
GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。
GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。
GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。
POST的数据不会显示在 URL 中。 

2、post请求的四种参数形式是什么

application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml

3、http状态码302, 403, 503分别代表什么

302 临时性重定向,该状态码表示请求的资源已经分配了新的URL,希望用户本次能使用新的URL
403 服务器理解请求客户端的请求,但是拒绝执行此请求
503  服务器目前无法使用

4、公司有用到第三方服务,出了问题,打电话给第三方,第三方不承认,这时候日志又显示不到错误,应该怎么处理

单独调用第三方服务,查看返回结果;
引入mock机制,假如正常返回的情况下,测试我们的系统是否存在问题;
建议开发增加日志,详细记录调用第三方接口的过程,记录调用前接口入参,返参等信息;

5、接口自动化中的关联怎么处理?

将请求返回的结果反射到类属性中,使用setattr()函数,下个请求调用这个类

6、自动化测试怎么校验结果?

使用断言,预期结果值和实际结果值进行对比;

7、自动化使用的测试框架是什么?简述自动化框架的设计、维护

自动化使用的测试框架:
	语言:python
	测试框架:unittest(assertEqual,assertTure,assertFalse)
	接口调用:requests(API非常简洁)
	数据驱动:ddt(装饰器:ddt类,unpack测试方法装饰器解包时候,data测试方法装饰器,可迭代的数据类型)
	注:普通用户,管理用户,数据库,配置文件---基础数据
	数据管理:openpyxl(excel,CSV,json,yaml,txt)
	数据库交互:pymysql ---根据数据库选择相应的第三方模块来完成
	数据格式的转换:eval,json
	日志处理:logging ---清晰的执行过程,快速定位问题
	持续集成:Jenkins(通过插件HTML Publisher/git/Email Extension)进行自动构建,生成HTML,发送邮件

自动化框架的设计、维护:
	1、数据与代码分离,(数据驱动)==数据驱动框架==
		例如:参数不一样,响应不一样
	2、结构分层(数据层,用例层,逻辑性)
		逻辑层:公用的方法,封装起来,避免用例层的代码冗余
		数据层:例如,设计Excel,excel读取,参数化替换等
		用例层:存放测试用例

8、具体的在这个项目中自动化怎么应用到实际的,您对自动化结果的分析

配置定时执行,快速结果的反馈,将测试结果反馈给开发;
执行测试用例,配合使用HTML报表,发送邮件至责任人处;
根据多次调用的自动化分析,来进行定位失败的原因,分析每一次执行的通过率,确定系统的缺陷,来进行改进;

你可能感兴趣的:(接口自动化)