【发布时间】:2016-08-13 17:47:32
【问题描述】:
我在运行大约 40 个测试时使用了 python 行为。现在,我正在尝试为我自己和我的客户制作一份看起来比较体面的 HTML 报告。
我通过命令行运行测试:behave --junit. 接下来我获取 xml,解析它(元素树)并编写一个 html 文件。
基本上我已经做到了,除了我必须手动编辑 xml,因为它有一些奇怪的字符。在我看来,这些字符真的不应该存在,并且试图忽略它们(例如使用 recover=true,如提到的ParseError: not well-formed (invalid token) using cElementTree)也不起作用。 (没有它它会给我一条关于“格式不正确(无效令牌)”的消息,并且使用恢复选项它只会忽略奇怪字符之后的所有内容,从而产生非常短的测试报告)
我有什么遗漏吗?也许在我的行为测试的组织或执行中导致了这个损坏的 XML 的结果?
也许只是了解它们是什么字符,所以我尝试编写代码来替换或删除它们,然后解析会有所帮助。
感谢任何帮助!
干杯,
柴
这是一段带有这些奇怪字符的 XML: 我看到这里 qouting 它已经使它显示不同,所以我也添加了 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>
【问题讨论】:
标签: xml junit elementtree python-behave