初探接口测试框架--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的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...
随机推荐
- Angular学习(6)- 数组双向梆定+filter+directive
示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 6< ...
- 发送WIN+SAPCE键,WINDOWS,空格键
键盘代码部份转自:http://www.cnblogs.com/cpcpc/archive/2011/02/22/2123055.html 由于喜欢用CTRL+空格键切换输入法,在WIN8上有所不习惯 ...
- Bind 跨域名别名解析的问题
我有一个域名 aaa.net 已经生效 ,并且下面有 xx的 A记录:现在我还有一个 aaa.com域名 ,我想用 别名方式把它下面 某个 记录以别名方式解析到 xx.aaa.net上去.应该在aaa ...
- 使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4
以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host ...
- CXF发布restful WebService的入门例子(客户端)
上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端. 客户端的实现方式有无数种...可 ...
- SSH登录很慢问题的解决
用ssh连其他linux机器,会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析的问题 OpenSSH在用户登录的 ...
- kafka_2.11-0.8.2.2的搭建
一.下载官网的压缩包~ 修改conf/server.properties host.name=10.10.224.12 (修改为主机ip,不然服务器返回给客户端的是主机的hostname,客户端并不 ...
- 工作中Linux常用命令
rpm -qa|grep -i mysql rpm -ev mysql-server-5.1.73-5.el6_6.x86_64 如果报: error: Failed dependencies: li ...
- [实变函数]5.5 Riemann 积分和 Lebesgue 积分
1 记号: 一元函数 $f$ 在 $[a,b]$ 上的 (1)Riemann 积分: $\dps{(R)\int_a^b f(x)\rd x}$; (2)Lebesgue 积分: $\dps{(L)\ ...
- 【转】C++ 单例模式
http://blog.csdn.net/hackbuteer1/article/details/7460019 单例的一般实现比较简单,下面是代码和UML图.由于构造函数是私有的,因此无法通过构造函 ...