Как насчет этого?
from simplified_scrapy import SimplifiedDoc,utils
html = '''
</testsuites>`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<testsuites>
<testsuite name="Test" tests="7" failure="1" timestamp="2019-12-11T11:33:16.057Z">
<testcase **name**="02. Create pinboard" classname="Testcase" **time**="88.832">
</testcase>
<testcase **name**="17. Adding Data labels to a Geo chart" classname="Testcases" **time**="68.39">
<**failure message**="Step Failed: Element not found More info at: https://www.google.com"/>
</testcase>
</testsuite>
</testsuites>`
'''
doc = SimplifiedDoc(html)
row = []
row.append(["name","tests", "failure","timestamp","testcase_name","testcase_classname","testcase_time","failure_message"])
testsuites = doc.selects('testsuites>testsuite')
for t in testsuites:
for testcase in t.testcases:
message = testcase.select('**failure>message**()')
row.append([t.name,t.tests, t.failure,t.timestamp,testcase['**name**'],testcase['classname'],testcase['**time**'],message])
utils.save2csv("test.csv",row)
Результат:
name,tests,failure,timestamp,testcase_name,testcase_classname,testcase_time,failure_message
Test,7,1,2019-12-11T11:33:16.057Z,02. Create pinboard,Testcase,88.832,
Test,7,1,2019-12-11T11:33:16.057Z,17. Adding Data labels to a Geo chart,Testcases,68.39,Step Failed: Element not found More info at: https://www.google.com