def parse(filename, options=None):
"""
Parse Selenium IDE - Test Results Plugin output files.
"""
options = options or {}
try:
parsed_html = html.parse(filename)
except html.HTMLSyntaxError:
raise importer.ParserError('TEST invalid XML syntax')
suite = parsed_html.find("//table[@id='suiteSummaryTable']/thead/tr/td")
if suite is None:
raise importer.ParserError('Test Suite not found')
suite = suite.text
if not suite.startswith(_SUITE_HEADER):
raise importer.ParserError('invalid test results')
# get suite name from 'Test Suite: <testname>'
suitename = suite[len(_SUITE_HEADER) + 1:].strip()
root = parsed_html.getroot()
suitetbls = root.find_class('test_case')
if suitetbls is None:
raise importer.ParserError('no test cases found')
return [_parse_test(tbl, suitename) for tbl in suitetbls]
评论列表
文章目录