有没有办法直观地查看 htmlunit 是否正在执行正确的命令?我对使用 htmlunit 有严格的要求。我只是不知道它是否正确填写了所有表格。
4 回答
HTMLunit 被设计为无 GUI 的浏览器,根据您的要求,您可以考虑使用 Webdriver 或 Watir 或 Selenium 等此类工具。如果您使用 Ruby,请查看Celerity,它将 HtmlUnit 包装在 Watir-ish API 中;事实上,Celerity 本身就是由 Culerity 包裹的,它集成了 Celerity 和 Cucumber,您可能会更感兴趣。
是的。您可以通过使用 webscarab、fiddler 等代理来查看 HTTP 流量。确保以下
通过 contsructor 将代理详细信息设置为 Htmlunit。我认为它是网络客户端
确保您信任所有证书或将代理证书添加到信任库
除非您编写日志记录并自己进行某种显示,否则无法查看 HtmlUnit 正在做什么。我过去曾这样做过,这在一定程度上是有帮助的,但实际上不可能有视觉反馈来查看 HtmlUnit 正在做什么。即使使用日志记录,也不可能知道 HtmlUnit 正在做什么或哪里出了问题的每一个细节,因此这是一项非常耗时的任务。我什至求助于输出当前查看的页面,但这非常有限,因为 html 页面无法告诉 HtmlUnit 在该页面上执行的实际“命令”。
另一种方法是使用 Selenium,它以视觉方式执行您的“命令”,您可以通过观察立即看到哪里出了问题。
“正确的命令”是什么意思?HtmlUnit 本身不会给你它正在做什么的运行描述,如果这就是你的意思。正如 suthasankar 所说,HtmlUnit 是一个无头浏览器(故意如此),并且永远不会给你观看页面飞过的酷 Watir 体验。
每当我想知道测试执行期间发生了什么时,我都会在测试代码的各个点添加日志语句,然后在控制台中观察它们。您可以改为将消息发送到您的任何其他监控系统。
然后围绕您感兴趣的“命令”编写包装器并不需要太多,例如“getPage”和按钮点击和表单条目等。