接口自动化-接口自动化测试框架梳理

自动化测试框架梳理

框架的意义:可读性,可维护性,可扩展性

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

好处

1、手工测试用例与自动用例完美结合,避免重复工作
2、配置灵活,根据需要快速选择执行用例/切换测试环境
3、常用功能封装,逻辑清晰,易于维护(逻辑层封装)
4、统一执行入口,管理测试用例集(使用unittest,run.py)例如:使用discover来模糊查询测试用例
5、持续集成(git),定时构建(jenkins),快速反馈

使用到的技术框架

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

一些常见的面试题

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 中。 
post请求的四种参数形式是什么?
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
http状态码 302,403,503分别代表什么?
302 临时性重定向,该状态码表示请求的资源已经分配了新的URL,希望用户本次能使用新的URL
403 服务器理解请求客户端的请求,但是拒绝执行此请求
503  服务器目前无法使用
公司有用到第三方服务,出了问题,打电话给第三方,第三方不承认,这时候日志又显示不到错误,应该怎么处理
单独调用第三方服务,查看返回结果;
引入mock机制,假如正常返回的情况下,测试我们的系统是否存在问题;
建议开发增加日志,详细记录调用第三方接口的过程,记录调用前接口入参,返参等信息;
接口自动化中的关联怎么处理
将请求返回的结果反射到类属性中,使用setattr()函数,下个请求调用这个类
自动化测试怎么校验结果
使用断言,预期结果值和实际结果值进行对比;
自动化使用的测试框架是什么?简述自动化框架的设计、维护?
自动化使用的测试框架:
语言: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,发送邮件

自动化框架的设计、维护:
数据与代码分离,(数据驱动)==数据驱动框架==
	例如:参数不一样,响应不一样
结构分层(数据层,用例层,逻辑性)
	逻辑层:公用的方法,封装起来,避免用例层的代码冗余
	数据层:例如,设计Excel,excel读取,参数化替换等
	用例层:存放测试用例
  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzlzy1989

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值