我们正在使用出色的 WebdriverJS (使用 Selenium)在我们的网络应用程序上执行验收测试。一切正常,当我们使用 Firefox 和 Safari 时,我们的测试成功执行。
但是,当我们使用 PhantomJS 时,我们的测试会失败并出现无用的错误。这几乎就像... Javascript 甚至没有在客户端页面内运行!如果 PhantomJS 的 javascript 环境遇到错误,就会导致这种情况。不幸的是,在将 PhantomJS 与 WebdriverJS 一起使用时,我似乎找不到访问 Javascript 错误的方法。
如果我们直接使用 PhantomJS,我们可以简单地执行以下操作(来自 PhantomJS site ):
page.onError = function(msg, trace) {
console.log(msg);
trace.forEach(function(item) {
console.log(' ', item.file, ':', item.line);
});
}
不幸的是,我不知道在 WebdriverJS 中使用 PhantomJS 时如何访问这个神秘的 page
对象。有什么想法吗?
最佳答案
您实际上可以在 INFO 级别的 PhantomJS stdout 日志中访问 JS 错误。
$ phantomjs --webdriver 4444 --webdriver-loglevel=INFO
您甚至可以通过将日志级别设置为 DEBUG
来插入事情的发展,并查看 PhantomJS 执行通过 Webdriver/Ghostdriver 发送的命令时实际执行的操作。
关于selenium - 使用WebdriverJS时如何访问错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976564/