上次提到正则表达式

当未匹配到数据返回值 None

再使用 match.group 会出现异常 AttributeError

为了避免异常我改成“ match != None”

这次加入异常处理

 #!/usr/bin/env python
# -*- coding: utf_8 -*- import requests
import unittest
import re class Testswcw_back(unittest.TestCase):
def setUp(self):
print "接口测试开始" def tearDown(self):
print "接口测试结束" def testlogin_1(self): #登录测试用例
url = 'http://localhost:8081/swcw/back/sysLogin.action'
postparams = {'username':'admin','password':''}
results = requests.post(url,postparams)
pattern = re.compile(r'toMain')
match = pattern.search(results.url)
try:
if results.status_code == 200:
if match.group() == 'toMain':
print '用例测试结果:测试通过'
else:
print '用例测试结果:请求失败'
except AttributeError:
print '用例测试结果:测试失败' def testlogin_2(self): #登录测试用例
url = 'http://localhost:8081/swcw/back/sysLogin.action'
postparams = {'username':'admin','password':''} #密码错误
results = requests.post(url,postparams)
pattern = re.compile(r'toMain')
match = pattern.search(results.url)
try:
if results.status_code == 200:
if match.group() == 'toMain':
print '用例测试结果:测试通过'
else:
print '用例测试结果:请求失败'
except AttributeError:
print '用例测试结果:测试失败' def testlogin_3(self): #登录测试用例
url = 'http://localhost:8081/swcw/back/sysLogin.action'
postparams = {'username':'admin1','password':''} #登录名错误
results = requests.post(url,postparams)
pattern = re.compile(r'toMain')
match = pattern.search(results.url)
try:
if results.status_code == 200:
if match.group() == 'toMain':
print '用例测试结果:测试通过'
else:
print '用例测试结果:请求失败'
except AttributeError:
print '用例测试结果:测试失败' if __name__ == "__main__":
unittest.main()

异常处理的格式:

try:

  【代码】

except 【异常名称】:

  【代码】

如果想屏蔽所有异常 如下即可

try:

  【代码】

except:

  【代码】

python学习笔记(异常处理)的更多相关文章

  1. Python学习笔记(异常处理)

    用户输入了一个不合规定的值,或者需要打开的文件不存在.这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断. 例如我们去打开一个文件: f = file('non-exis ...

  2. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  3. Python学习笔记之异常处理

    1.概念 Python 使用异常对象来表示异常状态,并在遇到错误时引发异常.异常对象未被捕获时,程序将终止并显示一条错误信息 >>> 1/0 # Traceback (most re ...

  4. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  5. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  6. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  7. Python 学习笔记(下)

    Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 ...

  8. 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细

    翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...

  9. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  10. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

随机推荐

  1. Ubuntu 14.04下安装GitLab

    0.硬件要求 官方要求:http://doc.gitlab.com/ce/install/requirements.html CPU 1 core works supports up to 100 u ...

  2. mysql 获取id最大值

    数据库表中id列不为自动增加,需要程序来增加id的SQL SELECTCASE IFNULL(MAX(id),1)WHEN 1 THEN 1ELSE MAX(id) + 1END AS newmaxi ...

  3. ES6 Promise对象then方法链式调用

    then()方法的作用是Promise实例添加解决(fulfillment)和拒绝(rejection)状态的回调函数.then()方法会返回一个新的Promise实例,所以then()方法后面可以继 ...

  4. Date、Calendar、Timestamp的区别与转换

    1.Java.util.Date 包含年.月.日.时.分.秒信息. // String转换为Date String dateStr="2013-8-13 23:23:23"; St ...

  5. Android Wear - Design Principles for Android Wear(设计原则)

    ---------------------------------------------------------------------------------------------------- ...

  6. C++中的默认成员函数

    一般而言,对于一个用户自定义的类类型,以下四个函数在用户没有自定义的情形下,会由编译器自动生成: 1.default constructor 2.copy constructor Someclass: ...

  7. Django 之基础学习

     阅读目录 配置 视图层之路由系统配置 模版层 模版过滤器 request & response Ajax Cookie Session 分页 文件传输 Django MTV模型 Django ...

  8. vim批量注释与取消批量注释(转)

    方法一 块选择模式 插入注释: 用v进入virtual(可视化)模式(可以省略这一步) 用上下键选中需要注释的行数 按ctrl+v进入可视化块模式 按大写I进入插入模式,输入注释符‘#’或者是‘//’ ...

  9. 微信小程序组件checkbox

    表单组件checkbox:官方文档 Demo Code: JS Page({ data:{ items:[ {name: 'USA', value: '美国'}, {name: 'CHN', valu ...

  10. C#转义字符(好记性不如烂笔头)

    C#转义字符: ·一种特殊的字符常量:·以反斜线"\"开头,后跟一个或几个字符.·具有特定的含义,不同于字符原有的意义,故称“转义”字符.·主要用来表示那些用一般字符不便于表示的控 ...