首页 新闻 会员 周边 捐助

自动化测试的报告自动发送到邮箱,提示“你找的文件在服务器上找不到”

0
悬赏园豆:10 [待解决问题]

在自动化测试脚本中,加入“自动将报告发送到邮箱”的功能,查看邮箱后,无法查看用例的详细信息,点击下图所示位置的链接时,提示“你找的文件在服务器上找不到”

以下是执行用例的代码

 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)
代码羡的主页 代码羡 | 初学一级 | 园豆:69
提问于:2018-01-26 12:55
< >
分享
所有回答(2)
0

1先检查服务器上面有没有文件

2检查Detail按钮链接的路径是否正确

ycyzharry | 园豆:25683 (高人七级) | 2018-01-26 13:25

劳烦,怎么在服务器上看文件?

支持(0) 反对(0) 代码羡 | 园豆:69 (初学一级) | 2018-01-26 14:02

@瑾年绝恋醉流苏: 服务器你有权限登录吗  找到放文件目录查看文件啊

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2018-01-26 14:48
0

我随便看看

男人要爽 | 园豆:6 (初学一级) | 2018-01-27 09:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册