《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

时间:2024-04-15 21:06:52

虫师的《Selenium 2自动化测试实战 基于Python语言》是我自动化测试的启蒙书

也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动化测试高级应用中,第一节自动发送邮件功能中,8.1.4整合自动发送邮件功能

《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

当我们运行如下代码后,会发现邮件发送成功,但是打开邮件发现邮件中的内容为空

《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

在书中182页我们看到了如下解释。

但是这个解释为错误的,引起无法发送最新报告的内容,其实是因为代码中有一处bug,并非HTMLTestRunner报告文件的机制所引起的。

《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

那么如何修改此bug呢,其实很简单,造成此问题的原因是由于代码程序打开了最新的html测试报告,在文件发送前没有关闭,导致发送的内容为空,只需要在主函数中增加一行代码即可解决问题

这一行代码就是fp.close(),如下图

《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法