一:unittest跑起来

unittest使用,具体使用方式可以查看unittest官网,以下简单做个介绍,在工作中使用最多的

#
第一步:

创建unittest类,且一定要继承unittest.TestCase

class MytestDemo(unittest.TestCase):

 

第二步:

创建你要运行的方法,且一定是用test开头,unittest是检测test开头就会认为有运行方法,如果不用test开头就不用

def test_show():

    print(运行成功)

  

第三步:

运行,使用main入口

if __name__ == '__main__':

    unittest.main()

好了至此,你就已经是使用unittest框架了

但是这样其实在工作中不能满足我们,我们在执行测试方法前都会做一些前置条件,依赖于unittest中的几个方法

二、增加初始化的方法,

在类中,添加,setUp (前置方法,每次运行方法时就会运行),tearDown(运行完后的后置处理,每个方法运行时就会运行)setUpClass(第一次运行类时,开始运行)

#coding=utf-8
import unittest
import requests class MytestDemo(unittest.TestCase):
'''
http: // www.kuaidi100.com / query?type = 快递公司代号 & postid = 快递单号
测试用例
ps:快递公司编码:申通 = "shentong"
EMS = "ems"
顺丰 = "shunfeng"
圆通 = "yuantong"
中通 = "zhongtong"
韵达 = "yunda"
天天 = "tiantian"
汇通 = "huitongkuaidi"
全峰 = "quanfengkuaidi"
德邦 = "debangwuliu"
宅急送 = "zhaijisong"
number=1
'''
@classmethod
def setUpClass(cls):
print("第一次运行类时调用") def setUp(self):
self.url = "http://www.kuaidi100.com/query"
self.headers1 = { 'Connection': 'keep-alive'} def tearDown(self):
print("后面收尾") def test_yuantong(self):
url=self.url+"?type=yuantong&postid=11111111111"
result=requests.get(url=url,headers=self.headers1)
print(result.url)
print(result.text) def test_tiantian(self):
data = "type=tiantian&postid=11111111111"
result = requests.get(url=self.url, params=data,headers=self.headers1 )
print("************")
print(result.url)
print(result.text)
if __name__ == '__main__':
unittest.main()

  我使用了两个方法,一个圆通,一个天天,self.url就是获取在setUp中的url,显示内容:

三、运行

3.1 单个类运行

在类的方法旁边,使用运行,运行单个方法

3.2: 整体运行

在main中运行,

在运行方式中,unittest.main(),还有几种方式表示

使用unittest.TestSuite()集合方式运行,这种方式可以在单个类中运行,也可以在运行多个文件

if __name__ == '__main__':
#unittest.main()
suite = unittest.TestSuite()
suite1 = unittest.TestLoader().loadTestsFromTestCase(MytestDemo)
# 增加文件
suite.addTest(suite1)
unittest.TextTestRunner().run(suite1)

针对TestLoader运行方式有几种,类名,文件名,运行方法名,后续在写一篇

3秒钟unittest入门使用的更多相关文章

  1. 18年selenium3+python3+unittest自动化测试教程(下)

    第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...

  2. 『心善渊』Selenium3.0基础 — 25、unittest单元测试框架

    目录 1.unittest基本简介 2.unittest基本概念 (1)unittest核心的四个概念 (2)如何创建一个测试类 (3)test fixture常用的四个方法 (4)unittest编 ...

  3. selenium+python+unittest实现自动化测试(入门篇)

    本文主要讲解关于selenium自动化测试框架的入门知识点,教大家如何搭建selenium自动化测试环境,如何用selenium+python+unittest实现web页面的自动化测试,先来看看se ...

  4. Python unittest第一篇:基础入门+命令行编译

    unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...

  5. python unittest 快速入门

    import unittest def add(x, y): return x + y class TestLearning(unittest.TestCase): def setUp(self): ...

  6. Python中的单元测试模块Unittest快速入门

    前言 为什么需要单元测试? 如果没有单元测试,我们会遇到这种情况:已有的健康运行的代码在经过改动之后,我们无法得知改动之后是否引入了Bug.如果有单元测试的话,只要单元测试全部通过,我们就可以保证没有 ...

  7. python + selenium + unittest 自动化测试框架 -- 入门篇

    . 预置条件: 1. python已安装 2. pycharm已安装 3. selenium已安装 4. chrome.driver 驱动已下载 二.工程建立 1. New Project:建立自己的 ...

  8. unittest单元测试框架入门及应用

    一.简介 unittest是Python单元测试框架.unittest它支持自动化测试,在测试中使用setup(初始化)和shutdown(关闭销毁)操作,组织测试 用例为套件(批量运行),以及把测试 ...

  9. django1.11入门

    快速安装指南¶ 在使用Django之前,您需要安装它.我们有 完整的安装指南,涵盖所有可能性; 本指南将指导您进行简单,最小化的安装,在您完成介绍时可以正常工作. 安装Python¶ 作为一个Pyth ...

随机推荐

  1. sklearn.model_selection 的train_test_split方法和参数

    train_test_split是sklearn中用于划分数据集,即将原始数据集划分成测试集和训练集两部分的函数. from sklearn.model_selection import train_ ...

  2. 监控服务zabbix部署

    目录 1. zabbix介绍 2. zabbix特点 3. zabbix配置文件 4. 部署zabbix 4.1 zabbix服务端安装 4.2 zabbix服务端配置 4.3 zabbix服务端we ...

  3. Apache服务器http强制转https(ubuntu系统)

    Apache服务器http强制转https 修改网站根目录下的.htaccess文件 验证

  4. jquery 插入节点

    往某个元素内部的结尾添加 append() appendTo() append() <body> <button id="bt1">点击通过jQuery的a ...

  5. python的tkinter,能画什么图?

    今天从下午忙到现在,睡觉. 这个能绘点图的. import json import tkinter as tk from tkinter import filedialog from tkinter ...

  6. 运维笔试Python编程题

    一.用Python语言把列表[1,3,5,7,9]倒序并将元素变为字符类型,请写出多种方法: 第一种方法: list = [1, 3, 5, 7, 9] list.reverse() list2 = ...

  7. MSc in Robotics

    MSc in RoboticsProgramming Methods for Robotics AssignmentIrene Moulitsas & Peter SherarCranfiel ...

  8. PageHelper分页正确用法

    依赖和配置就不说了,说用法 Page<Object> page = PageHelper.startPage(pageNum, pageSize); List<SysRoleDTO& ...

  9. Linux——CentOS7没有ifconfig命令

    前言 今天新安装的centos7,使用ifconfig命令却提示没有,直接安装也没有~ 正文 直接安装直接告诉我这个包不是一个有效的 [root@kafka ~]# yum install -y if ...

  10. 线程池的使用(ThreadPoolExecutor详解)

    为什么要使用线程池? 线程是一个操作系统概念.操作系统负责这个线程的创建.挂起.运行.阻塞和终结操作.而操作系统创建线程.切换线程状态.终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情. ...