HtmlUnit - 动态加载的JavaScript未运行

Jam*_*ery 5 htmlunit

我正在尝试使用HtmlUnit编写一些网站的自动化测试.我们的网页加载了两个JavaScripts,其中一个JavaScripts然后动态地将几个其他JavaScripts加载到DOM中.然后,这些JavaScripts执行一些UI初始化.我的问题是HtmlUnit使用新的JavaScripts更新DOM,但似乎没有运行那些JavaScripts,因为没有出现预期的DOM元素.

以下是我尝试的一些事情:

  1. 使用查看页面toXml().page.toXml()方法显示添加的JavaScripts,但不显示预期的UI元素.
  2. 测试是否存在预期的DOM元素.这些显示在一个真实的Web浏览器中,我可以一起使用jquery和firebug来确认它们在那里.
  3. 试图通过手动启动JavaScripts executeJavaScript.当我这样做时,它可以找到我直接调用的方法,但该方法无法在其他JavaScripts中找到符号.

还有其他人遇到过这个问题吗?

小智 1

您是否尝试在加载页面后插入短暂的暂停?

  • 我尝试了暂停和添加 JavaScript 处理程序,该处理程序在页面更新时提供回调,但似乎都不起作用。不管怎样,我们的解决方案是不以这种方式加载 JavaScript 并使用 Selenium,它不存在这个问题。 (2认同)