selenium - 使用WebdriverJS时如何访问错误?

标签 selenium webdriver phantomjs ghostdriver webdriver-io

我们正在使用出色的 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/

相关文章:

java - 提交表单时,Selenium 发送 key 无法使用 java

使用 webdriverIO 的 Javascript 循环元素

TypeScript v2.3.1 破坏了单元测试

python - 使用 selenium 和 phantomJS 切换框架

python - 使用 phatomJS 和 selenium 滚动浏览网站

python - 使用 Selenium 提取元素的 CSS 选择器

java - 如何在 webDriver 测试中将 ExpectedConditions 类与已实现的类结合起来

testing - 哪个工具可以替代 RFT 和 Selenium?

ios - Quamotion - 搜索包含一个字符串但不包含另一个字符串的元素

java - Selenium Java 示例(是否需要 Selenium IDE)?