python+selenium 学习之自动发送报告邮件(今天开始记录)

最近难得有空闲,可以学习研究下python+selenium。我从一开始就是跟随虫师的书本《selenium2 python自动化测试》,选择他的书本其一是实操性强,其二是可选择不多,看着他的入门快而且可以比较系统性地每天学习一点点。

中间学习到自动运行用例发邮件的地方,书本里截图如此说明:

我个人不能接受发送上一次运行结果,总觉得可以找到方法即时运行结束发送本次报告,于是我去找HTMLTestRunner里的说明与实现,感觉没啥问题。

暂停了2天,某天百度有个人说的是其他的问题,大意就是他生成的报告打不开,于是加了个f.close()立马就可以了。

于是我立马意识到卡住的问题也许就是作者没有关闭写日志文件导致的问题,书本代码一检查果然如此,我在书本案例代码上稍作修改立马就OK了,运行完就发送本次报告而且是完整的报告。

以下是我修改后的片段代码:

 1 # coding=utf-8
 2 import unittest,time,os
 3 import HTMLTestRunner #引入HTMLTestRunner包
 4 #把public目录添加到path下,这里用的相对路径
 5 import send_mail
 6 
 7 
 8 listaa='.\\test_case2'
 9 def createsuitel():
10     testunit=unittest.TestSuite()
11     #discover方法定义
12     discover=unittest.defaultTestLoader.discover(listaa,
13         pattern='start_*.py',
14         top_level_dir=None)
15 
16 
17     #discover方法筛选出来的用例,循环添加到测试套件中去
18     for test_suite in discover:
19         for test_case in test_suite:
20             testunit.addTests(test_case)
21             print testunit
22     return testunit
23 
24 alltestnames=createsuitel()
25 
26 #定义个报告存放路径,支持相对路径。
27 #filename='..\\report\\result2.html'
28 #把测试报告结果文件根据生成时间命名
29 #取前面时间
30 now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
31 #把当前时间加到报告中
32 filename=".\\report\\"+now+'result.html'
33 fp=file(filename,'wb')
34 
35 runner=HTMLTestRunner.HTMLTestRunner(
36         stream=fp,
37         title=u"百度搜索测试报告",
38         description=u"用例执行情况:"
39         )
40 
41 runner.run(alltestnames)
42 fp.close()
43 send_mail.sendreport()

其实我改的地方就是

runner.run(alltestnames)这句后面加了下面一句:
fp.close()

就可以运行完发送本次运行报告而且是完整的报告。

转载于:https://www.cnblogs.com/mias/p/6736368.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值