# 邮箱或用户名是否重复接口测试-面向对象
# 导入类库
import csv
import unittest
import warnings
import requests
# 面向对象是用类去封装属性和方法
class lei(unittest.TestCase):
def setUp(self):
warnings.simplefilter("ignore", ResourceWarning)
self.url='http://localhost:8080/jwshoplogin/user/check_vaild.do'
# 打开csv文件,读取邮箱用户名数据
self.file1=open('checkuseremailinfo.csv','r')
# 打开csv文件,写入测试结果到测试报告
# self.file2=open('testresult.csv','w')
# 从csv读取的入参数数据可以放到方法里面
# 把对应的数据写入到测试报告中
def test_youxiang(self):
# 定义一个空的字典
info={}
# 读取csv文件
rows=csv.reader(self.file1)
i=0
for row in rows:
# 不读取csv中的第一行数据
if i==0:
pass
else:
print(row)
info['str']=row[0]
info['type']=row[1]
# 发送请求
s=requests.session()
response=s.post(self.url,data=info).text
# 在返回结果里面去找预期结果值
# a=response.find(row[2])
# if a>0:
# self.file2.write(row[0]+','+row[1]+','+row[2]+','+"测试通过d"+'\n')
# else:
# self.file2.write(row[0]+','+row[1]+','+row[2]+','+"测试不通过"+'\n')
self.assertIn(row[2],str(response))
i=i+1
def tearDown(self):
# self.file2.close()
self.file1.close()
# 调用main函数
if __name__ == '__main__':
# # 实例化类对象
# obj=lei()
# # 用类去调用方法
# obj.youxiang()
unittest.main()
读的文件
写的文件