#os读取文件路径
#token传递
#htmltestrunner报告
#unittest测试套
import unittest
import requests
import csv
import os
from HTMLTestRunner import HTMLTestRunner
#htmltestrunner.py文件下载:http://tungwaiyip.info/software/HTMLTestRunner.html
class test_updatauser_v3(unittest.TestCase):
def setUp(self):
#csv读取
path=os.getcwd()
seppath=os.path.abspath(os.path.dirname(path)+os.path.sep+'..')
#文件路径注意转义
self.datapath=seppath+r'\testdatafile\ind_data\updateuser_data.csv'
file1=open(self.datapath,'r')
table=csv.reader(file1)
userinfo={}
for row in table:
url=row[0]
userinfo[row[3]]=row[4]
userinfo[row[5]] = row[6]
#
break
response=requests.post(url,data=userinfo)
self.session=dict(response.cookies)['JSESSIONID']
print(self.session)
def test_cae1_updatauser(self):
file2=open(self.datapath,'r')
table=csv.reader(file2)
#这里设置userinfo后,每次循环都会在原先数据后累加上循环的值,错误
# userinfo = {}
num=0
for row in table:
num=num+1
if num>1:
url=row[0]
exprsult=row[1]
j=int(row[2])
#注意这里userinfo变量设置位置,使每次循环后userinfo置空
userinfo={}
for i in range(3,j*2+3,2):
userinfo[row[i]]=row[i+1]
print(userinfo)
session={'JSESSIONID':self.session}
response=requests.post(url,data=userinfo,cookies=session).text
self.assertIn(exprsult,response)
if __name__ == '__main__':
suite=unittest.TestSuite()
suite.addTest(test_updatauser_v3('test_cae1_updatauser'))
path = os.getcwd()
seppath = os.path.abspath(os.path.dirname(path) + os.path.sep + '..')
reportpath=seppath+r'\testresultfile\ind_result\updateuser_report.html'
file=open(reportpath,'wb')
runner=HTMLTestRunner(stream=file,title='更新用户接口测试',description='接口测试报告')
runner.run(suite)
file.close()