Appium Appium+Python3+iOS,用 unittest 之后运行,不能生成 HTMLTestRunner 报告,大家这个问题是怎么解决的呢

李瑶瑶 · August 13, 2019 · Last by hellohell replied at August 14, 2019 · 328 hits

if name == 'main':
search_suite = unittest.TestSuite()
search_suite.addTest(TestLable('test_cancel'))
now = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime())
filename = "/Users/liyaoyao/Documents/iOSAppiumTest/iOSTest/TestReport/" + now + "_test.html"
fw = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='Testing', description=u'用例执行情况')
runner.run(search_suite)
fw.close()

有没有大神帮忙看一下,分享一下这个问题是怎么解决的呢?

共收到 6 条回复 时间 点赞

你调用顺序错了吧

刘旭 回复

哪个顺序错了,大佬指点一下

虽然不知道你错在哪里,我下面的代码是可以生成的,你可以参考一下改改试试

def get_suit(i):
a=CaseTest()
suite=unittest.TestSuite()
suite.addTest(CaseTest("case_01"))
#unittest.TextTestRunner().run(suite)
html_file='/Users/Desktop/Appiumpython/report/report'+str(i)+'.html'
fp=open(html_file,"wb")
HTMLTestRunner.HTMLTestRunner(fp).run(suite)
P_Oliver 回复

是新建一个类定义这个方法再调用吗?

5Floor has been deleted
李瑶瑶 回复

这个无所谓

  • 试了试可以生成
  • 怀疑没找到用例就直接报错了,还没来得及运行到下面

以下可以执行

import time
import unittest
import HTMLTestRunner

class TestLable(unittest.TestCase):
def test_cancel(self):
self.assert_equal(1,2)

if __name__=='__main__':
search_suite = unittest.TestSuite()
search_suite.addTest(TestLable('test_cancel'))
now = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime())
filename = "./" + now+"_test.html"
fw = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='Testing', description=u'用例执行情况')
runner.run(search_suite)
fw.close()

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up