初探接口测试框架--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的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...
随机推荐
- LintCode "Partition Array by Odd and Even"
One pass in-place solution: all swaps. class Solution { public: /** * @param nums: a vector of integ ...
- hyper-v 中 安装 Centos 7.0 设置网络 教程
安装环境是: 系统:win server 2012 r2 DataCenter hyper-v版本:6.3.9600.16384 centos版本:7.0 从网上下载的 centos 7.0 如果找 ...
- 剑指offer系列62---两个链表的公共结点
[题目]输入两个链表,找出它们的第一个公共结点. * [思路]1 获取两链表的长度: * 2 让长的链表先走n步后此时走到短链表起始位置: * 3 两链表同时遍历,直至相同,这时返回第一个公共结点. ...
- Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x
This howto guide shows you’ll how to enable EPEL repository under RHEL/CentOS 6/5 to install additio ...
- MVC:上传文件
今天写了一个使用MVC上传的DEMO,很简单不超过10行代码.代码如下(关注重点,所以尽量精简掉其他代码): 项目结构
- python深入走路
Python描述符(descriptor)解密 http://www.geekfan.net/7862/
- C#2
同名的两个类如果在不同的命名空间中,相互之间是不会混淆的. 一个名为TextHello的命名空间中创建一个名为Program的类,引用方法 TextHello.Program 我们常用的Console ...
- http://www.imooc.com/video/4767 zepto教学视频笔记
一.介绍js移动端框架:zepto.js与jquery mobile 对比:zepto特点 1.与jquery相似度95%,会jquery基本会zepto: 2.API少,轻量级框架 3.移动端无缝接 ...
- linux下的gedit命令使用方法与技巧
1.启动: 从菜单启动:应用程序——>附件——>文本编辑器 从命令行执行以下命令: gedit 2.窗口说明: 菜单栏:包含您在 gedit 中处理文件所需的所有命令. ...
- WCF Windows Service Using TopShelf and ServiceModelEx z
http://lourenco.co.za/blog/2013/08/wcf-windows-service-using-topshelf-and-servicemodelex/ There are ...