初探接口测试框架--python系列7
点击标题下「蓝色微信名」可快速关注
坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注、转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下:
更多书籍,敬请期待
背景说明
python系列课程也有段时间了,我们坚持,一步步来,今天是最后一课的分享,看看接口测试框架的神秘,小怪带领着大家一起完成第7课,希望能看完知识点,自己动手练习,然后和给出的例子代码对比,最后看看作业感悟篇,想学的就往下看吧(本期是第7课,对应的作业是第6题)。
1作业内容
题目6:
第6次作业需求:(完成个人HTTP协议的接口的框架,在第5次作业基础上)
1、包含GET和POST请求,并以天气预报这个接口为例子
2、脚本数据分离,公用方法封装,结果存入mysql数据库,同时统计测试用例成功率,失败率(生成html格式)
3、数据库表自己设计,字段要求和excel中一致(名称可以不一样)
4、提交时间:2016-4-6 中午前
5、参考信息:
通过传入CityName 和 CountryName,获取天气情况
URL:http://www.webservicex.net/globalweather.asmx/GetWeather
参数:CityName=“beijing” 和CountryName=“china”
方法:post
思路:
1、在上次作业的基础上,把结果文件写入mysql数据库;
2、在上次作业的基础上,提取信息生成html report;
3、python生成html可以使用第三方库:pyH,也可以使用普通方法,纯写。
4、判断method时:“if method == 'POST'”:,始终未成立,是因为读取excel是返回的值为text:u'POST',改为 TestDataDict['Method'].value就好了。
5、简单的报告:
参考资料:进QQ群(283440449)下载
2同事作业小结
1、安装MySQLdb
1、安装报错,提示:pythonversion 2.7 required which was not found in the registry。
根据网上搜到的方法,粘贴一个注册python的代码运行后可以安装。
安装后测试import MySQLdb 报错:import_mysql ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
2、根据搜索问题,原因在于使用了64位python和32位MySQLdb。
3、重新下载MySQL-python-1.2.3.win-amd64-py2.7.exe 安装后可以使用。
2、搞定数据库
1、自己下载mysql太慢,找开发要了一个(不是开发、测试环境的),是日常使用的。
2、自己创建了库,创建表
create table weatherdata( ID int(4) notnull primary key auto_increment, Description char(20) not null, Method char(20)not null, CityName char(20) not null, CountryName char(20) not null, Expchar(20) not null, Act char(20) not null, Result char(20) not null, ResTimedouble(16,4));
3、添加写入mysql表的方法
新建InsertMysqlTable函数,获取指针,传入编写的sql,执行,插入传参的数据。
4、添加读取mysql表输出html的方法
1、新建ReadMysqlTable函数,获取指针,传入编写的sql,执行,读取表内容。
2、读取表每一行,按样式写入html中。另写了几个小函数处理表头、表尾等。
5、修改原有函数
1. 在GetRequest中添加传入Methods的判断,分POST和GET处理。处理获取不到数据的情况,并修改其他细节。
2. 修改ReadTable,添加读取Method并传入字典。
3. 修改EditTable,修改对表进行操作时选择的位置。
6、待改进的地方
1. 作业写得比较仓促,很多细节都没深入考虑,包括一些容错处理等。
2. 对于数据库结构,过于简单,应该加上时间字段。
3. 输出html较为难看,也没有考虑数据过多时的分页。
3后语
到此,我们python系列的课程分享全部完成,可以仔细回味下,这个是从0开始,一步步,无形中走进了 接口测试框架的课程,当然,到这里只是一个开始,框架需要的知识点我们都基本涉及,并练习,修行靠个人,今后的优化思路,我们可以继续探讨,今后使用的经验需要我们大家一起交流和分享,从事python这块的,用我们的行动来点燃我们的热情,参与了收获是用钱买不来的,action起来,希望下一个分享的是你,没错就是你!
推荐的文章
jmeter随笔(20)如何在写入jtl文件时同步写入数据库
↓↓↓ 点击"阅读原文" 【查看更多信息】
初探接口测试框架--python系列7的更多相关文章
- 初探接口测试框架--python系列2
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列3
点击标题下「微信」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...
- 初探接口测试框架--python系列4
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列5
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列6
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列1
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- http接口测试框架-python
简单分解一下 接口测试框架设计: 主入口 -> 遍历接口/用例 -> 发送请求+接收响应 ->结果的对比 -> 生成报告 ->发送email 分成几大类:主入口的py文件 ...
- Macaca 自动化框架 [Python 系列]
介绍 Macaca是一套完整的自动化测试解决方案,基于node.js开发.由阿里巴巴公司开源: 地址:http://macacajs.github.io/macaca/ 特点: 同时支持PC端和移动端 ...
- 【转】基于Python的接口测试框架实例
下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...
随机推荐
- OData services入门----使用ASP.NET Web API描述
http://www.cnblogs.com/muyoushui/archive/2013/01/27/2878844.html ODate 是一种应用层协议,设计它的目的在于提供一组通过HTTP的交 ...
- Angular学习(3)- 双向梆定
示例代码: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 3& ...
- CERT_KEY_CONTEXT_PROP_ID,CERT_KEY_PROV_INFO_PROP_ID,CERT_KEY_PROV_HANDLE_PROP_ID和CERT_KEY_SPEC_PROP_ID
上面四个属性是CertSetCertificateContextProperty或CertGetCertificateContextProperty可以为证书上下文设置的几个属性,下面对它们的关联简单 ...
- bzoj2338 数矩形
给出N(N≤1500)个点,求选四个点作为顶点组成矩形的最大面积,保证有解. 对每两个点连边,按边长排序,枚举等长且中点相同的边作为对角线组成矩形,计算面积取最大值. 时间复杂度O(n2logn) # ...
- Centos5.5下安装cacti
系统环境OS:CentOSDataBase:MySQL5.0PHP Apachenet-snmp部署CentOS cacti配置需要的环境安装MySQLyum -y install mysqlyum ...
- html中div定位练习
html中div定位练习,实现简单的计划列表: 记录div定位时主要的属性:float.position等,以及对应的relative和absolute等,同时使用到angular js中的数据绑定, ...
- 黄聪:WordPress 后台发布文章时提示用户选择分类
很多用户在后台发布文章,常常会忘记选择分类,所以很有必要添加一个提醒功能,如果没有选择分类,点击发布时,就显示一个提示信息.要实现这个功能,只要将下面的代码添加到主题的 functions.php 即 ...
- CF 461B Appleman and Tree 树形DP
Appleman has a tree with n vertices. Some of the vertices (at least one) are colored black and other ...
- 用imageROI来增加某范围的像素
//用imageROI来增加某范围的像素 //作者:sandy //时间:2015-10-5 #include <cv.h> #include <highgui.h> int ...
- [ Iptables ] Linux开启防火墙,切记仔细确定每个端口
一.缘由: 祸起Redis未授权访问漏洞被利用,删除了服务器的所有账号,导致无法登陆:这才不得不把开启防火墙提上日程.再次在开启防火墙过程中,一刀切造成了一些前段进程的端口被封,甚是后悔! 二.解决办 ...