开发环境:eclipse python3.6 appium
1.问题:
最近进行自动化测试研究搭建环境时遇到一个问题,通过HTMLHTMLTestRunner.py 的run()方法未生成测试报告,日志显示如下:
Finding files... done.
Importing test modules ... done.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
而通过cmd命令行方式,直接python html_result.py可执行生成相应测试报告
测试代码如下:
import unittest
from appium import webdriver
import time
from filemanager.newfile import Testnewfile
from HTMLTestRunner import HTMLTestRunner
from base64 import test
from idlelib.iomenu import encoding
class Testresult(unittest.TestCase):
def setup(self):
#连接设备信息
desired_capabilities={}
desired_capabilities['platformName']='Android'
desired_capabilities['deviceName']='honor2'
desired_capabilities['platformVersion']='7.0'
desired_capabilities['browserName']='Chrome'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_capabilities)
self.driver.get('http://213.65.69.1:8100')
def testName(self):
print('pass')
def tearDown(self):
#退出
time.sleep(10)
self.driver.quit()
if __name__ == "__main__":
suite=unittest.TestSuite()
suite.addTest(Testresult('setup'))
suite.addTest(Testnewfile('menusnewfile'))
#suite.addTest(Testresult('testName'))
timestr=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
reportname=r'D:\eclipse-workspace\AcrSoftware\results\report'+timestr+'.html'
fp=open(reportname, 'wb')
runner=HTMLTestRunner(stream=fp,title='测试报告',description='执行情况:')
runner.run(suite)
fp.close()
2.问题原因:
通过eclipse 运行确未生成测试报告,主要原因是我使用unittest来启动,就没执行自己的main,执行的是unittest的main。
3.解决办法:
run as 时通过python run运行,即可在设置目录下 生成测试报告啦