接口自动化框架查询手机号归属地
题目:
1、打开postman输入网址及查询手机号,选择json格式,出现下图结果
2、创建文件夹,并用pycharm打开
3、创建如图所示目录
4、在api文件下封装被测系统--手机号测试接口,这里取名phone_api,
存放代码:
class PhoneApi(object):def __init__(self):self.phone_url = "http://cx.shouji.360.cn/phonearea.php"def get_phone_info(self,session,params):return session.get(url=self.phone_url,params=params)
5、在script文件下定义测试脚本,这里取名为PhoneTest
存放代码:
# 导入unittest框架的测试类
import unittest
# 导入requests模块自动封装cookie的Session类
from requests import Session
# 导入api文件下的PhoneApi
from api.phone_api import PhoneApiclass PhoneTest(unittest.TestCase):# 一个测试用例里不可能只有一个测试类,# 所以要在所有的类开始之前定义一个类级别@classmethod# 数据化执行开始 setUpClass类方法前置条件,# 运行用例前只会执行一次里面的方法 使用必须加装饰器# setUpClass(cls) 与 tearDownClass(cls) 并不一定要组合使用,它们是同级关系不是上下级关系,可以单独拆分使用。def setUpClass(cls) -> None:cls.phone_api = PhoneApi()# 数据化执行开始 setUp普通方法前置条件,# 每运行一次用例,都会执行一次里面的方法 使用不用加装饰器def setUp(self) -> None:self.session = Session()# 数据化执行结束 setUp普通方法后置条件,# 每运行一次用例,都会执行一次里面的方法 使用不用加装饰器def tearDown(self) -> None:self.session.close()# 编写测试用例def test_01(self):params = {"number":"13466920626"}res = self.phone_api.get_phone_info(self.session,params=params)res = res.json()# 断言self.assertEqual("北京",res["data"]["city"],msg="%s归属地不是北京" % params["number"])
6、编写执行测试套件入口run_suite
将测试报告模板文件复制到lib文件夹下
import unittest
from lib.HTMLTestRunner import HTMLTestRunner
from script.PhoneTest import PhoneTestsuite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(PhoneTest))f = open('D:/p6课堂练习/phone/lib/report/report.html','wb')
runner = HTMLTestRunner(stream=f,title="手机号归属地查询",description="查询结果")
runner.run(suite)
7、运行结果
8、返回测试脚本PhoneTest,继续编写用例2
import requests
def test_02(self):params = {"number":"13466920626"}res = self.phone_api.get_phone_info(self.session,params=params)res = res.json()yys = res['data']['sp']bd_url = "http://www.baidu.com/s"p = {'wd':yys}ret = requests.get(url=bd_url,params=p)ret.encoding = 'utf-8'with open('D:/p6课堂练习/phone/lib/report/baidu.html','w',encoding='utf-8') as f:f.write(ret.text)
9、再次运行run_suite
10、缺陷报告
接口自动化框架查询手机号归属地相关推荐
- pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...
- Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...
- 浅谈python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- python api开发用什么框架_python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...
- 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习
Jenkins+Jmeter+ant接口自动化框架for Linux学习 2018年06月08日 17:55:31 杀生丸的玲 阅读数:1031 版权声明: https://blog.csdn.net ...
- pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联
前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...
- python+requests+pytest 接口自动化框架(四)
目录 一.requests库简介 二.requests库常用方法 三.request()返回的response对象 四.实战案例 post(url, data=None, json=None, **k ...
- python+requests+pytest 接口自动化框架(一)
目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...
最新文章
- set RowCount 与 top n
- WebMessenger完善后将作为一个开源项目
- 怎样将包含元组的列表转换为字典?
- 网上选课系统的php代码,网上选课系统(论文+程序)
- .NET异步程序设计之任务并行库
- 如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?
- SmartUpload上传下载使用
- Flutter时间工具类封装
- laravel5.6 邮件队列database驱动简单demo
- linux进行硬盘分区挂载-了解系统,最更好的开发
- 前端页面使用ace插件优化脚本
- java版spring cloud+spring boot+redis社交电子商务平台(十七)上传文件
- Node.js IP 库引擎 lib-qqwry v1.3.0 发布,支持命令行下使用
- CCNP系列三十四--- Bgp的本地优先属性
- 1、fiddler 下载、安装、配置
- 文字图片灰度化matlab,采用matlab将图像灰度化的方法
- 计算机c盘垃圾,详解win7怎么清理C盘垃圾
- 相对(relative)定位和绝对(absolute)定位
- python程序设计题库-python编程题库
- 社工利器--setoolkit之钓鱼攻击