我正在使用 casperjs 作为我的应用程序的测试工具。我在这里面临一个奇怪的问题。
casper.then(function () {
this.click('a[href="/ui/thunder/"]')
})
casper.then(function () {
this.test.assertUrlMatch(/ui\/thunder\/$/, 'Redirected to cloud page');
console.log(this.getHTML());
});
在编写这段代码时,我被重定向到 ui/thunder 页面,并在控制台记录 this.getHTML(),它向我显示了页面的完整 html,但仍然缺少一些信息。
在页面加载时,它会执行几个 REST api 调用,并且数据会加载到屏幕上,但 casperjs 不会显示来自服务器的数据。
例如:当页面加载时,它会调用我在<div class="user"></div>
标签中显示的 REST 服务 /auth/users。
所以在我看到的浏览器中,它是这样填充的
<div class = "user">
<div class "userName">User1</div>
<div class "userName">User2</div>
</div>
但是当我在casperjs中为this.getHTML()做一个console.log时,我得到<div class="user"></div>
(没有任何用户的空标签)
知道为什么会这样吗?