大家好,我是正在学习接口测试的菜鸟。近期通过自己的学习,完成了一个关于测试接口的接口自动化demo。下面想跟大家分享一下,主要的思路是根据接口文档确定测试用例,并将测试用例写在excel中。因为只是小作demo,测试用例我没有写的很全,有兴趣的大佬自己补充一下。下面先分享接口文档,以及写在excel中的测试用例,这里需要注意的是,测试用例一定要按照我这种格式写,否则下面封装的doExcel类将会无效。

 

 

现在测试文档和测试数据我们都有了,我们要明确我们要做到什么?基于我目前所学,我最想做到的就是将测试数据与代码分离,执行代码产生的log会被记录下来,测试完成之后生成测试报告,然后将测试报告以及log甚至将excel更新测试结果邮件发送给相关测试人员。基于这个目的,主要引用的模块有unittest, ddt, openpyxl, logging, HTMLTestRunner, email, smtplib以及requests。unittest是单元测试框架,ddt可以做到减少相同测试步骤的冗余代码,openpyxl模块可以从excel或者csv文档里面读写数据,logging模块可以记录日志,HTMLTestRunner可以生成测试报告, email和smtplib模块可以做到发送邮件,request模块则是做接口测试的必须。好,现在我们来理清一下思路。1. 测试用例有了,我们根据接口文档在代码中实现测试用例的代码化。2. 代码化的时候,发现测试步骤高度一直,可以使用ddt 模块来减少冗余代码。3. 光使用ddt模块,发现测试数据很多的情况下,把数据写在代码里还是很乱,于是考虑将测试用例excel文件的测试数据直接取出来,这就需要使用openpyxl模块了。4. 虽然这样做代码执行了,但是如果遇到代码错误的情况下,错误不好定位,执行步骤也不能人机友好的可视化,考虑到这一点,引入logging模块,在程序的各个步骤加上log。5. 现在log有了,执行完毕却没有个结果总结那可不行,咱们引入HTMLTestRunner模块来生成测试报告。6. 到这一步其实已经差不多了,但是既然测试报告以及log都有了,那执行完毕向相关测试人员发送这个测试报告以及log岂不是更完美吗?于是乎,引入email以及smtplib模块,来解决这个问题。既然思路已经有了,剩下来的就是动手实操了。我实操完毕的代码如下gif图所示。部分代码参考柠檬班python接口自动化的书,相对书上代码我有做出了改动并基于自己理解加以改进。

 

代码挺多,就不在社区里发出来了,代码百度云链接:https://pan.baidu.com/s/1QS7SsA2ntmCB0_RZkmRGqQ 提取码:8e0e(有效期7天)。 在各个模块中都有坑需要各位大佬去自己踩,踩完之后再填坑收获会更多。时间太晚,写得比较仓促,大佬们轻喷。

新手入门贴之基于 python 语言的接口自动化 demo 小实战的更多相关文章

  1. 关于《Selenium3自动化测试实战--基于python语言》

    2016年1月,机缘巧合下我出版了<Selenium2自动化测试实战--基于python语言>这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目 ...

  2. 关于《selenium2自动测试实战--基于Python语言》

    关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...

  3. 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

    虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...

  4. 《Selenium2自动化测试实战--基于Python语言》 --即将面市

    发展历程: <selenium_webdriver(python)第一版>   将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...

  5. 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

    基于python语言的tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...

  6. selenium2自动化测试实战--基于Python语言

    自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...

  7. selenium2环境搭建----基于python语言

    selenium支持多种语言如java.c#.Python.PHP等,这里基于python语言,所以这里搭建环境时需做俩步操作: ----1.Python环境的搭建 ----2.selenium的安装 ...

  8. 基于Python的WEB接口开发与自动化测试 pdf(内含书签)

    基于Python的WEB接口开发与自动化测试 目录 目 录O V目 录章 Python 学习必知 ................................................... ...

  9. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

随机推荐

  1. 统计学中z分布、t分布、F分布及χ^2分布

    Z就是正态分布,X^2分布是一个正态分布的平方,t分布是一个正态分布除以(一个X^2分布除以它的自由度然后开根号),F分布是两个卡方分布分布除以他们各自的自由度再相除 比如X是一个Z分布,Y(n)=X ...

  2. UVaLive 4043 Ants (最佳完美匹配)

    题意:给定 n 个只蚂蚁和 n 棵树的坐标,问怎么匹配使得每个蚂蚁到树的连线不相交. 析:可以把蚂蚁和树分别看成是两类,那么就是一个完全匹配就好,但是要他们的连线不相交,那么就得考虑,最佳完美匹配是可 ...

  3. ADO接口之_RecordsetPtr

    转自:http://hi.baidu.com/%CE%D2%B6%CF%C1%CB%CB%BC%C4%EE/blog/item/e057c526c6af6c29c995596e.html _Recor ...

  4. POJ1789 Truck History 2017-04-13 12:02 33人阅读 评论(0) 收藏

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 27335   Accepted: 10634 D ...

  5. Java反射API研究(1)——注解Annotation

    注解在表面上的意思,只是标记一下这一部分,最好的注解就是代码自身.而在java上,由于注解的特殊性,可以通过反射API获取,这种特性使得注解被广泛应用于各大框架,用于配置内容,代替xml文件配置. 要 ...

  6. #ifdef __cplusplus extern "C" { #endif 的解释

    好多程序中都会遇到下列代码段: #ifdef __cplusplus extern "C" { #endif /****************** C语法代码段 ******** ...

  7. JKS与P12证书互转

    keytool -importkeystore -srckeystore cacerts -srcstoretype JKS -deststoretype PKCS12 -destkeystore k ...

  8. vs2015上使用github进行版本控制

    我是用的是vs2015企业版 一.首先创建项目,右下角选择新建git存储库 二.在工具栏选择团队-管理连接,打开团队资源管理器,点击同步 . 三.选择下面的发布选项 四.在gitgub上新建仓库,得到 ...

  9. C# task和timer实现定时操作

    C#中,定时器,或者叫作间隔器,每隔一段时间执行一个操作. 1.Timer本身就是多线程 C#中为不同场合下使用定时器,提供了不同的Timer类,在asp.net中一般使用System.Timers. ...

  10. Kubernetes 集群安装部署

    etcd集群配置 master节点配置 1.安装kubernetes etcd [root@k8s ~]# yum -y install kubernetes-master etcd 2.配置 etc ...