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如何批量执行测试文件 ...
随机推荐
- xcode安装pod
参考了: https://blog.csdn.net/AugustDY/article/details/92078639 输入 ruby -v ,查看当前电脑的ruby版本,如果已经安装了ruby环境 ...
- The life-saving straw
English learning In contemporary world, English learning has gained great popularity and it is of ...
- 【读书笔记】:MIT线性代数(3):Special Solution, Rank and RREF
Special Solutions: Notice what is special about s 1 and S2. They have ones and zeros in the last two ...
- Windows重置网络命令
我们在日常使用电脑的时候会碰到网络异常,网络故障,想要针对性地去解决是很困难的. 有时候可能查遍了资料,花了大量时间,怎么搞都还是搞不定.所以,这次直接给大家分享一个通过重置网络来解决所有问题的方法. ...
- ecs centos7.3 搭建vsftpd 虚拟用户
FTP介绍 FTP会话时包含了两个通道,一个叫控制通道,端口号21:一个叫数据通道,端口号20. 控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的. ...
- txt文本程序 打开python文件 另存为原来的文件名,不能覆盖原来的文件解决
txt文本程序 打开python文件 另存为原来的文件名,不能覆盖原来的文件 如:1.py文件用txt文本程序打开后,另存为 1.py,保存完毕后,不覆盖1.py文件,会生成 1.py.txt文件 原 ...
- div中的div上下居中
方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent { width:800px; height:500px; ...
- Java常用的几个Json库,性能强势对比!
作者:飞污熊 https://xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能.每次都在网上看到别人说什 ...
- Comet OJ - Contest #12
B 整个表格其实是一些联通块,取反操作不能跨连通块.所以直接统计一下每个连通块内数字不对的个数是不是偶数即可 #include<iostream> #include<cstring& ...
- 【转】Ubuntu下外放有声音 耳机没声音
真是使用linux每天都有新的发现啊,今天早上起来用电脑,想听几首歌,插上耳机后发现没声音,我还以为是耳机坏了,就把耳机插在了手机上,发现耳机有声音,很纳闷,我象是不是电脑接口有问题了,但是在进系统的 ...