readme.txt 框架简介

apiTestFramework  # 项目名称
api               # 定义封装被测系统的接口
script            # 定义测试用例脚本
data              # 存放测试数据
report            # 存放生成的测试报告
tools             # 存放第三方文件
log               # 存放日志文件
app.py            # 定义项目的配置信息
utils.py          # 定义工具类
run_suite.py      # 执行测试套件

login.py 封装登录接口

# 新建封装的登录测试类
class LoginApi:# 初始化函数def __int__(self):# 获取验证码url:http://www.tpshop.com/index.php/admin/Admin/vertify# 登录url:http://www.tpshop.com/index.php/Home/user/loginself.verify_url = "http://www.tpshop.com/index.php/admin/Admin/vertify"self.login_url = "http://www.tpshop.com/index.php/Home/user/login"# 获取验证码def get_verify_code(self,session):return session.get(self.verify_url)# 登录def login(self,session,username,password,verify_code):session.post(self.login_url,data = {"username" : username,"password" : password,"verify_code" : verify_code})

test_login.py 定义登录接口测试用例脚本

# 导包
import requests
import unittest
from api.login import LoginApi# 创建继承unittest的类
class TestLogin(unittest.TestCase):def setUp(self):# 初始化登录self.login_api = LoginApi()# 初始化sessionself.session = requests.Session()def tearDown(self):# 关闭sessionself.session.close()# 测试登录成功def test01_login_success(self):# 获取验证码r = self.login_api.get_verify_code(self.session)# 断言验证码图片self.assertEqual("image/png",r.hearders.get('Content_Type'))# 调用登录接口data = {"username":"#####","password":"123456","verify_code":"****"}r = self.login_api.login(self.session,data)# 输出登录接口响应结果print("输出登录接口响应结果为:",r.json())# 断言登录接口# 断言响应状态码self.assertEqual(200,r.status_code)# 断言json数据中的statusself.assertEqual(1,r.json().get('status'))# 断言json数据中的msgself.assertIn("登录成功",r.json().get("msg"))# 测试用户不存在def test02_username_is_not_exist(self):# 获取验证码r = self.login_api.get_verify_code(self.session)# 断言验证码图片self.assertEqual("image/png", r.hearders.get('Content_Type'))# 调用登录接口r = self.login_api.login(self.session, 'error', '123456', '****')# 输出登录接口响应结果print("输出登录接口响应结果", r.json())# 断言登录接口# 断言响应状态码self.assertEqual(200, r.status_code)# 断言json数据中的statusself.assertEqual(-1, r.json().get('status'))# 断言json数据中的msgself.assertIn("账号不存在", r.json().get("msg"))# 测试密码错误def test03_password_is_error(self):# 获取验证码r = self.login_api.get_verify_code(self.session)# 断言验证码图片self.assertEqual("image/png", r.hearders.get('Content_Type'))# 调用登录接口r = self.login_api.login(self.session, '#####', 'error', '****')# 输出登录接口响应结果print("输出登录接口响应结果", r.json())# 断言登录接口# 断言响应状态码self.assertEqual(200, r.status_code)# 断言json数据中的statusself.assertEqual(-2, r.json().get('status'))# 断言json数据中的msgself.assertIn("密码错误", r.json().get("msg"))

run_suite.py 执行测试套件

# 导包
import unittest
import time
from script.test_login import TestLogin
from tools.HTMLTestRunner import HTMLTestRunner# 创建测试套件
suite = unittest.TestSuite()# 添加测试用例到测试套件
suite.addTest(unittest.makeSuite(TestLogin))# 使用HTMLTestRunner
# 定义报告路径和名称
report_name = './report/tpshop-{}.html'.format(time.strftime('%Y%m%d %H%M%S'))
# 打开文件
with open(report_name,mode='wb') as f:# 初始化htmltestrunnerrunner = HTMLTestRunner(f,verbosity=1,title="tpshop登录接口测试",description="#####")# 运行测试用例runner.run(suite)

TPshop登录接口测试相关推荐

  1. python写后台接口请求出错_python登录接口测试问题记录与解决

    最近做一个登录接口测试中,发现了以下的一些场景,本次将所遇到的问题以及解决过程做下记录: 1.抓包发现登录操作时,先后请求三个接口,并且每个接口有关联 2.每次请求都需要保留cookie信息,下个接口 ...

  2. Python接口自动化之登录接口测试

    VOL 117 29 2020-04 今天距2020年246天 这是ITester软件测试小栈第117次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  3. python登录接口测试_接口测试,基于Python

    client 偏底层 urlib 不推荐 内置的 requests 推荐,基于urlib 需要安装,pip install requests 源码 import requests url='39.10 ...

  4. python实战:接口测试

    接口测试框架 能够按照接口测试框架的封装思想,实现TPshop登录接口的接口对象封装 能够按照接口测试框架的封装思想,使用UnitTest编写测试用例实现接口的测试 能够实现接口测试框架项目目录结构的 ...

  5. 用Jmeter做微信小程序项目接口测试【案例】

    公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试. 从接口本身来讲,对其测试与其他项目应该是一样的.所以不难理解,我们要对小程序的接口测试需要准备的 材料有: ...

  6. 基于Python的HTTP接口测试

    前言 由于某测试平台非常坑,导致创建了十个HTTP接口测试用例后便无法继续创建测试用例.因此本文便利用Python的单元测试功能,完整实现了类似的接口黑盒测试功能. 测试环境 Python3.6 Py ...

  7. python+flask编写一个简单的登录接口例子

    在学习接口测试的时候往往会因为没有实际操作的接口进行测试而烦恼,这里教大家自己编写两个接口用于学习接口测试 1.编写一个登录的接口 2.在pycharm运行 3.使用apipost进行登录接口测试 输 ...

  8. 网易云接口手机号验证码验证登录

    今天在写微信小程序时(模仿网易云音乐,根据网易云官方api接口文档,登录接口测试) 1.账号密码登录 //失效 2.手机号验证码登录 //无数据 3.邮箱登录 !!!可行 但是手机号验证码登录还是可以 ...

  9. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins

    目录 [本文简介看之前请详细的看完介绍] 本文是全网首发的[全栈接口测试进阶系列教程]jmeter接口测试工具从入门到入职, 接口系列包含 接口测试系列包含所有的接口测试工具入门到入职,如果你喜欢的话 ...

  10. 详谈什么是接口测试?

    本文主要分为两个部分: 第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系.但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分: 主要介 ...

最新文章

  1. LSA 安装及管理应用程序
  2. java面试精典问答
  3. 简单分析算法的时间复杂度
  4. origin做相关性分析图_高分文章的相关性热图,十分钟教你学会无代码复现
  5. wxWidgets:在全局范围内捕捉关键事件
  6. OpenCV通过填充修复损坏的图像的实例(附完整代码)
  7. Linux中source命令的用法:修改环境变量之后立即生效
  8. Springboot使用AOP记录请求日志和返回数据
  9. post multipart/form-data 类型表单如何获取File外其他参数
  10. 算法图解:如何判断括号是否有效?
  11. keras 深度神经网络模型的搭建
  12. 新人如何在职场中生存
  13. AXI FULL协议学习与仿真
  14. IP Routing 概述
  15. 假设检验:如何理解单侧、双侧检验的拒绝域
  16. Linux pv显示进度条命令
  17. Python时间戳转为北京时间
  18. Linux的命令行无法粘贴
  19. win10 windows文件查找通配符
  20. 常见面试题 -- JAVA 小结

热门文章

  1. 手机参数中的4+64G到底是什么?
  2. 自己写C#用汽车诊断卡对MIT电机做调试
  3. RPM软件包管理命令简介
  4. Deepgreen/Greenplum删除节点步骤
  5. 华南理工大学函授计算机考试答案,函授大专考试试卷题型具体是怎样的
  6. [SSL_CHX][2021-08-20]幸运数字们
  7. java jedis.incr()_Java Jedis.incr方法代碼示例
  8. angularJs监控页面加载完毕
  9. Druid 统计监控页面无法打开
  10. 安装infinity后主页始终显示百度页面?