我正在使用 python 运行大约 40 个测试。现在,我正在尝试为我自己和我的客户制作一个或多或少看起来不错的 HTML 报告。
我通过命令行运行测试:behave --junit. 接下来我获取 xml,解析它(元素树)并编写一个 html 文件。
基本上,我已经设法做到了,除了我必须手动编辑 xml,因为它有一些奇怪的字符。在我看来,这些字符真的不应该存在,并且还试图忽略它们(使用 recover=true,如ParseError: not well-formed (invalid token) using cElementTree例如)没有工作。(没有它,它会给我一条关于“格式不正确(无效令牌)”的消息,并且使用恢复选项它只会忽略奇怪字符之后的所有内容,从而产生非常短的测试报告)
有什么我想念的吗?也许在我的行为测试的组织或执行中产生了这个损坏的 XML 的结果?
也许只是了解它们是什么字符,所以我尝试编写代码来替换或删除它们,然后解析会有所帮助。
任何帮助表示赞赏!
欢呼,
柴
这是一段带有这些奇怪字符的 XML:我看到在这里引用它已经使它的显示有所不同,所以我也添加了 sublimetext 的屏幕截图。
<testcase classname="screenshots.Features.Aanvraagformulier.Aanvraagformulier" name="Test 02 Veld validatie checken voor enkel veld zakelijke aanvraag" status="failed" time="79.278"><error message="Message: Time out bij t wachten op element met css of element niet gevonden: #pa..." type="NoSuchElementException">
<![CDATA[
Failing step: Given Dat ik ingelogd ben als aanvrager ... failed in 79.278s
Location: Features\Aanvraagformulier.feature:98
Traceback (most recent call last):
File "c:\python27\lib\site-packagesehave\model.py", line 1456, in run
match.run(runner.context)
File "c:\python27\lib\site-packagesehave\model.py", line 1903, in run
self.func(context, *args, **kwargs)
File "D:\Chai_Testspul\PythonScripts\sigmaspul\Featureslgemeen\general_steps.py", line 57, in dat_ik_ingelogd_ben
login(context, email, password)
File "D:\Chai_Testspul\PythonScripts\sigmaspul\Featureslgemeen\page_commands.py", line 18, in login
wait_for_css(context.driver, '#passwordInput')
File "D:\Chai_Testspul\PythonScripts\sigmaspul\Featureslgemeen\page_commands.py", line 44, in wait_for_css
raise NoSuchElementException('Time out bij t wachten op element met css of element niet gevonden: ' + css)
NoSuchElementException: Message: Time out bij t wachten op element met css of element niet gevonden: #passwordInput
]]>
</error>