测试需求
由于架构调整,需要重新测试一个文件的上传解析。
跟开发同学了解测试范围时,得到的信息是这样的:有一个上传txt文件的页面,只要保证把特定格式的txt文件通过那个页面上传,然后到浏览器中访问“url/文件名.txt”,只要返回 文件名,就算测试通过。不需要考虑异常情况,如文件内容错误等。
测试过程
在版本送测后,发现开发同学给的url有二十来个,文件有四十来个。开发同学的期望是首先看看是否url都是通的,最好是能把所有的文件都看一看能不能解析。
此时距离代码封版只有一小时,如果全测的话组合得有20*40=800个,一分钟2个也得400分钟。这确定不是在玩我?
好吧,无论如何活还得接着干。先用同一个文件把所有url测试一遍,看看url有没有问题,其他的再说吧。
在上传了第一个文件后,灵机一动,如果不上传文件,直接在url中输入“url/文件名.txt”,会有什么现象?
试了一下,发现也能解析成功。这是什么情况?然后找到开发同学,balabalabala。。。最后确定这样也可以。
那问题就简单了!
把域名和文件名都列到一个excel中,用Python写一段小程序就可以解决了,整个过程二十分钟,轻松加愉快!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/10/13 20:58
# @Author : King
# @Site :
# @File : testx.py
# @Software: PyCharm
import xlrd
import requests
case_list = []
book = xlrd.open_workbook(u'7985需求测试.xlsx')
sheet = book.sheet_by_index(3)
xlist = []
ylist = []
for line in range(1,sheet.nrows):
if sheet.cell(line, 0).value != '':
xlist.append(sheet.cell(line, 0).value.strip())
if sheet.cell(line, 1).value != '':
ylist.append(sheet.cell(line, 1).value.strip())
for x in xlist:
for y in ylist:
case_list.append(x + '/' + y)
for case in case_list:
url = 'http://' + case
try:
res = requests.get(url)
if res.text in url:
# print('success')
pass
else:
print(url)
except Exception as e:
print(str(e))
print(url)
其他思考
不过如果不会写程序,这个情况下怎么处理呢?
想了一下,可以借助excel快速把url巡检一遍,如下:(下表中的域名和文件名是仿照真实数据随意编的)
只要把域名和文件组合成C列的样式,然后把这个路径复制到浏览器中查看是否能解析成功就可以了。表中在获取B列和C列的时候用了一个组合字符串的方式,在图中标记出来了。