在自动化测试脚本中,加入“自动将报告发送到邮箱”的功能,查看邮箱后,无法查看用例的详细信息,点击下图所示位置的链接时,提示“你找的文件在服务器上找不到”
以下是执行用例的代码
1 #发送邮件 2 def send_email(file_new): 3 #发件人 4 mail_from="xxx@163.com" 5 #收件人 6 mail_to="xxx@163.com" 7 #正文 8 f=open(file_new,'rb') 9 mail_body=f.read() 10 f.close() 11 msg=MIMEText(mail_body,_subtype='html',_charset='utf-8') 12 #定义标题 13 msg['Subject']=u"自动化测试报告" 14 #定义发送时间 15 msg['data']=time.strftime('%a, %d %b %Y %H:%M:%S %z') 16 # 连接SMTP服务器,参数为服务器地址和端口号 17 smtp=smtplib.SMTP("smtp.163.com",25) 18 smtp.set_debuglevel(1) 19 #用户名密码 20 smtp.login("xxx@163.com","xxx") 21 smtp.sendmail(mail_from,mail_to,msg.as_string()) 22 smtp.quit() 23 print("email has send out!") 24 25 def send_report(testreport): 26 result_dir=testreport 27 lists=os.listdir(result_dir) 28 lists.sort(key=lambda fn:os.path.getmtime(result_dir+"/"+fn)) 29 print(u"最新生成的测试报告",lists[-1]) 30 #找到最新生成的测试报告 31 file_new=os.path.join(result_dir,lists[-1]) 32 print(file_new) 33 send_email(file_new) 34 35 36 #创建测试套件 37 def createSuite(): 38 suit = unittest.TestSuite() 39 # 定义要执行的测试用例的路径 40 test_dir = './testcase' 41 discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py') 42 #将discover发现的用例循环添加到测试套件中 43 for test_case in discover: 44 print(test_case) 45 suit.addTests(test_case) 46 return suit 47 48 #开始执行 49 if __name__ == '__main__': 50 # 获取当前时间 51 now = time.strftime("%Y-%m-%d %H_%M_%S") 52 report_path="./testreport/" 53 filename = report_path + now + "_result.html" 54 fp = open(filename, 'wb') 55 runner = HTMLTestRunner.HTMLTestRunner( 56 # 指定测试报告的文件 57 stream=fp, 58 # 测试报告的标题 59 title=u"机构管理系统回归测试测试报告", 60 # 测试报告的副标题 61 description=u'用例执行情况(win7 64位)' 62 ) 63 64 #执行用例 65 allTestNames = createSuite() 66 runner.run(allTestNames) 67 fp.close() 68 send_report(report_path)
1先检查服务器上面有没有文件
2检查Detail按钮链接的路径是否正确
劳烦,怎么在服务器上看文件?
@瑾年绝恋醉流苏: 服务器你有权限登录吗 找到放文件目录查看文件啊
我随便看看