python+selenium,使用HTMLTestRunner跑的测试报告里报错了,为啥这样?

python+selenium,使用HTMLTestRunner跑的测试报告里报错了,为啥这样?

问题描述:

我单独使用

if __name__ == '__mian__':
    unittest.mian()

运行我的test_*.py文件时,能够正常运行,使用HTMLTestRunner跑时,测试报告error提示:selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

下面是我的runsest.py代码

import sys
import time

from HTMLTestRunner import  HTMLTestRunner
#接口
import unittest
test_dir=r'../src/testcase'
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

if __name__=='__main__':
    now = time.strftime("%Y-%m-%d %H_%M_%S")
    filename = r'../'+ now + '_测试报告.html'
    fp = open(filename,'wb')
    runner = HTMLTestRunner(stream=fp,
                            title= u'测试报告',
                            description = u'用例执行情况'
                            )
    run = HTMLTestRunner()
    runner.run(discover)
    fp.close()

补充:我改过python安装目录Lib\subprocess.py文件里的shell=False,改成shell=True。

大佬们能不能帮帮我(╥ω╥`)  (╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​(╥ω╥`)  ​​​​​​​

找到问题的原因了,是因为我在testcase里chromedriver的路径为相对路径,testcase里我写的是:

self.driver = webdriver.Chrome(‘..\..\driver\chromedriver.exe’)

把他变为绝对路径..\\driver\chromedriver.exe,我的runtest.py就能识别成功;

但是,我的testcase就无法识别这个路径了,我的解决办法就是把runtest.py去掉,把创建测试报告html的代码写在我的testcase里。。。。。。(。•́︿•̀。)

 

根据错误提示信息,是selenium的webdriver异常退出,要运行HTMLTestRunner,首先要配置好chromedriver环境,检查是否安装了selenium及chromedriver及相关配置是否正确。具体可参考:https://www.jianshu.com/p/96e39cc75299