Python3 Selenium HTMLTestRunner 运行成功但没有生成测试报告的总结
首先,这个方法是针对那些运行成功,显示OK,但是没有文档生成的问题,如果运行报错的同学,那可以默默的关上文章,因为本文非针对报错进行解答。如果不是的小伙伴可以继续往下看。
下面是我的代码:
from selenium import webdriver
import unittest
import time
from HTMLTestRunner import HTMLTestRunner
class BaiDu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.base_url = "http://www.baidu.com"
def test_baidu(self):
driver = self.driver
driver.get(self.base_url +"/")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("HTMLTestRunner")
driver.find_element_by_id("su").click()
time.sleep(2)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
testunit = unittest.TestSuite()
testunit.addTest(BaiDu("test_baidu"))
#定义报告存放路径
fp = open("./result.html", 'wb')
#定义测试报告
runner = HTMLTestRunner(stream=fp, title='百度搜索测试报告', description='用例执行情况:')
runner.run(testunit) #运行测试用例
fp.close() #关闭报告文件
右键文件运行的时候,显示是OK 的,如图,但是找当前文件夹下,并没有发现我想要的result.html文件。
网上搜索,发现反映类似的问题超级多,很多回答都是超级不靠谱,甚至有些奇葩。其中有一种方法我试过是可行的,就是在所在文件夹下,cmd运行,可以生成。但是我们不可能每次都去用这种方法去运行啊,诚麻烦啊(我用的是pycharm编辑的)。
后来我想了一下,是不是本身的配置有问题,既然文件没在我想要的文件夹下生成,那是不是运行的路径不对。因为每次都是编辑后右键运行,都是编辑器自己生成的,右上角点开后,感觉确实是设置的问题。
,把Python tests里的edit为Python中,然后把Script path选择为运行文件的路径,点击运行按钮,期待已久的result.html文件终于出来了,特此记录一下。
查问题过程中,有一位老哥的这个方法,我没试过,不知道是否可行,有感兴趣的同学可以尝试一下。
学习本身是件枯燥的事,从枯燥中发现问题,然后解决问题,才能从中得到快乐,尤其是自学的同学,任重而道远,且行且珍惜,继续加油吧!