28. Python编写自动化测试用例
接口文档已经提供了,requests库、unittest单元测试框架也已经介绍过,笔者相信读者朋友已经可以独立编写接口自动化测试用例了。但是有一些细节,我们需要聊一下。比如我们写登录接口测试用例,用户名为空、密码为空、用户名错误、密码错误、用户名密码都正确,假设我们只编写这几条测试用例,我们一般的做法如下代码所示:
# -*- coding: utf-8 -*-
import requests
import unittest
from nose_parameterized import parameterized
class BlogTest(unittest.TestCase):
def setUp(self):
self.url = "http://127.0.0.1:8000/login"
self.username = 'admin'
self.password = 'admin111111'
def tearDown(self):
pass
def test_username_null(self):
"""用户名为空"""
payload = {'username': '', 'password': self.password}
self.result = requests.post(self.url, payload).json()
# print(self.result)
self.assertEqual(self.result['status'], 0)
self.assertEqual(self.result['message'], 'username or password null')
def test_password_null(self):
"""密码为空"""
payload = {'username': self.username, 'password': ''}
self.result = requests.post(self.url, payload).json()
# print(self.result)
self.assertEqual(self.result['status'], 0)
self.assertEqual(self.result['message'], 'username or password null')
def test_username_error(self):
"""用户名错误"""
payload = {'username': 'admin1', 'password': self.password}
self.result = requests.post(self.url, payload).json()
# print(self.result)
self.assertEqual(self.result['status'], 0)
self.assertEqual(self.result['message'], 'username or password error')
def test_password_error(self):
"""密码错误"""
payload = {'username': self.username, 'password': 'admin1111111'}
self.result = requests.post(self.url, payload).json()
# print(self.result)
self.assertEqual(self.result['status'], 0)
self.assertEqual(self.result['message'], 'username or password error')
def test_login_success(self):
"""用户名密码正确"""
payload = {'username': self.username, 'password': self.password}
self.result = requests.post(self.url, payload).json()
# print(self.result)
self.assertEqual(self.result['status'], 1)
self.assertEqual(self.result['message'], 'login success')
if __name__ == '__main__':
unittest.main()
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
28. Python编写自动化测试用例的更多相关文章
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- (转载)最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程.以后各位只要着重如何编写 ...
- Python编写Appium测试用例(1)
有段时间没有使用python编写测试用例了,很长时间以来,感觉appium这个测试工具确实不错,今天又重新拿起来,分享一下自己学习的一些用例,欢迎大家一起交流.学习! 1.登录客户端 #coding= ...
- selenium+python编写自动化脚本时,定位frame中对象操作
在web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B.switchTo().frame方法可以把当前定位的主题切换到fr ...
- Python编写Appium测试用例(2)
#coding=utf-8import os,sysimport unittestfrom appium import webdriverimport timefrom selenium.webdri ...
- Python自动化测试用例设计--自动化测试用例与手工测试用例区别与联系
1. 前言 手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析,两者最大的各自特点在于,前者具有较好的异 ...
- 用python和unittest编写app自动化测试用例
import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...
- 用java和junit编写app自动化测试用例
package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
随机推荐
- centos查看磁盘空间大小
查看磁盘空间大小 df -h 查看当前文件夹所有文件大小 du -sh 查看指定文件夹大小 du -h /data 查看指定文件夹下所有文件的大小 du -h /data/ 查看指定文件大小 du - ...
- Python Django 编写一个简易的后台管理工具2-创建项目
django-admin 创建项目 pycharm 创建项目
- 使用Excel表格的记录单功能轻松处理工作表中数据的方法
使用Excel表格的记录单功能轻松处理工作表中数据的方法 记录单是将一条记录分别存储在同一行的几个单元格中,在同一列中分别存储所有记录的相似信息段.使用记录单功能可以轻松地对工作表中的数据进行查看.查 ...
- inline-block,inline,block,table-cell,float
float:left ---------------------------------------------------------------------------------------- ...
- Linux下的tar压缩解压命令
tar 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个. -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 下 ...
- matplotlib系列——中文显示
幕布视图:https://mubu.com/doc/alG8r_3iSw 参考文献:嵩天的Python课程讲义 方式一: 示例 rcParams的属性 方式二:(推荐使用) 示例: 中文字体种类
- 搭建 webpack、react 开发环境(二)
配置处理样式文件 到目前为止,整个工程的配置已经差不多了,对于 React 更多相关的配置将在后面继续介绍,现在我们先来对目前的工程进行优化. 前面我们学习了搭建 webpack.react 开发 ...
- split slice splice的简单区别
split slice splice的简单区别 split: 分割 //字符串方法 string.split let str = 'hello world'; //str.split('') 以什么东 ...
- Linux: 给右键菜单加一个“转换图片为jpg格式”
Linux上通常都会安装imagemagick这个小巧但又异常强大的工具.这个软件提供了一系列很好用的功能.这里说一说如何使用它的convert命令转换图片为jpg格式,以及如何把它添加到Thunar ...
- 转帖 移动端h5页面不同尺寸屏幕适配兼容方法
1. viewport属性及html页面结构 <meta name="viewport" content="width=device-width,initial ...