前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口自动化知识梳理

接口自动化知识梳理

作者头像
清菡
发布2020-12-02 15:51:21
6680
发布2020-12-02 15:51:21
举报
文章被收录于专栏:清菡软件测试清菡软件测试

接口自动化知识梳理

  • 学习知识块:基础知识 类与对象 单元测试 requests openpyxl pandas re ddt unittest mysql logging
  • 框架梳理
  • 学习方式:靠时间堆 思考清楚
  • http请求类:写2组数据在Python里面。
  • 单元测试类:写2组数据在Python里面。
  • 解决数据的分离:数据写到Excel里面去。
  • 解决参数的依赖关系。
  • 解决参数的自动化做参数的问题。
  • 数据库校验 期望结果。

学习目的

1.加深对自动化的理解:功能自动化。

2.需求分析。

3.掌握数据分离/代码分离/文件分离的概念。

1.为什么要去做自动化?

自动化的本质是让工作更加方便轻松。

稳定性测试,维护性测试,回归测试的时候用自动化。

新加的功能不可以做自动化,必须手工去做。

例如如果参数替换格式不对怎么办?

如果这个参数是不必要做参数化的,对数据的格式有强烈的要求,这样的情况建议不做参数化。

设计自动化的时候:框架非常重要,思路也很重要。

2.测试数据

放哪:excel--DoExcel 专门负责读取数据。

怎么读:用例的可配置。

参数化:每次会自动的更新测试数据--省去手工操作。

特殊点:注册手机号的处理。

Excel写一个初始化手机号。

sql语句查询当前存在的最大的手机号,在此基础上+1.

写死的手机号---不推荐。

数据的替换:参数化之后--读取数据时要进行替换。

期望结果:参数化的地方做好替换。

实际结果:

写入Excel里面去。

利用断言与期望结果做比对。

测试结论:

通过就pass,不通过就fail,同步写入测试结果进去。

3.接口自动化测试思路

1.利用单元测试去执行用例。

2.把测试数据和测试结果存在Excel里面。

3.把整个代码的运行过程放在日志里面。

4.执行的报告会生成html。

5.利用ddt还有其它的一些处理方式。

第一步考虑测试数据,测试数据不仅包括我请求的那些数据,包括针对不同的模块,如果尽可能想用参数化的话,比如地址,参数,期望结果,实际结果等这些都可以存到Excel里面去。

这样做就是为了提高代码的复用性,让它的改动尽量少一点。不管哪个模块的用例,都可以用这套框架去跑。

把数据放进去只是第一步,怎么去读,怎么去执行,执行哪一些?都涉及一个可配置,也就是让用例活起来。

4.参数化:标记。

通过代码处理数据,链接数据库,自动更新。

手机号注册:手机号+1

或者去数据库查询一个最大的手机号去做操作。

5.数据的处理:包含请求数据和请求结果。

怎么去写回,怎么去做,怎么去把它写进去,怎么去定义这个结果。

6.ddt

拿到数据进行拆分,方便拿到多少数据就执行多少条用例。

7.数据库校验

不同的数据库需要不同的数据驱动。

需要校验吗?

涉及金额的变化的一些正常操作,做校验多点保障。

数据库校验:用户的金额,账户这些,肯定会检查账户的。

如果不校验数据库,全写在Excel里面,全靠眼睛看期望值实际值,是比较困难的。

利用数据库完成数据的查询。

数据库如何写成一个类?

配置文件+数据库操作类。

8.应该要用哪些框架或者思路?

Excel+请求+mysql

Excel存请求数据和结果。

请求就是http请求帮你完成请求,最后查询数据,还是要写回Excel。

Http:requests

sokect:Python什么库支持这个协议。

webservice:suds库。

dubbo

在不太懂这个协议怎么用的时候,先写成框架,先发一个请求,能够请求成功之后,再去考虑把它封装成类,然后进行单元测试,数据参数化,写回结果。

框架:写的这一整套代码就是框架。

就是第三方模块的学习,把它组装,然后就成了框架。

例如我写的http接口的框架,以后遇到别的http接口,可以按照这个套路去做,改下用例,稍微改下里面的代码就可以了,这个就是框架的意义。

框架:步骤 思路 用到哪些技术?

unittest ddt openpyxl mysql requests config log email jenkins unittest+python+ddt

9.必会:每个接口跟数据表的一个对应关系。

10.普及数据分离/代码分离/文件分离的概念。

11.补充

soapui看看webservice有什么接口地址。

13083138929

根据手机号码的后3位去进行存储,举个例子,13083138929,那么短信验证码会存在29库,89表。

如果找短信验证码,写sql语句根据手机号码去查,找到对应的库,找到对应的表,这就是分表分库设计。

任何地址,不管是用任何工具还是写代码,还是各种请求,地址后面不能有空格,有空格就不识别这个地址。

12.遇到报错怎么办?

对于小白来说,打印比Debug好用。如果发现报错了,可以打印下。

哪行报错了,就在调用之前和调用后给它打印出来。

自己解决的问题,才会记得住!!!

鱼的记忆,所以做笔记很重要!!!

勤动手写,不要老是问别人,实在自己解决不了的情况下,问了别人,找到了答案,切记一定要记下来!!!!

13.返回结果要关注什么?

关键字段。

跑接口最关注的是状态码是不是对的,前期功能测试都测过了,所以只考虑code或msg,以这种进行校验就可以了。

不同的数据库用不同的数据驱动。

14.unittest核心步骤

15.常识

web自动化很重要!

先学web再学app。

先熟悉业务,才能写框架。

初步框架1-2周,1个月时间完成。

写框架需要接口地址,接口需求文档。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接口自动化知识梳理
    • 学习目的
      • 1.为什么要去做自动化?
        • 2.测试数据
          • 3.接口自动化测试思路
            • 4.参数化:标记。
              • 5.数据的处理:包含请求数据和请求结果。
                • 6.ddt
                  • 7.数据库校验
                    • 8.应该要用哪些框架或者思路?
                      • 9.必会:每个接口跟数据表的一个对应关系。
                        • 10.普及数据分离/代码分离/文件分离的概念。
                          • 11.补充
                            • 12.遇到报错怎么办?
                              • 13.返回结果要关注什么?
                                • 14.unittest核心步骤
                                  • 15.常识
                                  相关产品与服务
                                  数据库
                                  云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档