watir-webdriver 可以捕获控制台错误吗?
我想知道 watir-webdriver 是否能够记录任何控制台错误的输出? 这相当于在浏览器中手动打开控制台并在页面加载时监视 JS 错误。我可以通过 watir-webdriver 捕获此信息并记录/错误吗?
I am wondering if watir-webdriver as the ability to log the output of any console errors?
This would be equivalent to manually opening the console in a browser and watching for JS errors as a page loads. Can I capture this through watir-webdriver and log/error on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果这对某人有帮助 - 这个解决方案应该有效:
If it will be helpful to someone - this solution should work:
当将 watir-webdriver 与 Cucumber 结合使用时,错误(如果有)会输出到格式非常良好且包含 watir-webdriver 错误的 html 文件。
这可以通过将以下标志添加到 cucumber.yml 中的默认配置文件来完成:
--color --format Pretty --format html -o results.html
有关此文件的更多信息 这里。 这里有一些Cucumber 背景。但是,如果您仅从控制台使用 watir-webdriver,则可以通过执行以下操作将 watir-webdriver 错误重定向到文件:
$ ruby your_watir_script.rb 2> watir_debug.log #watir 将错误输出为 stderr
在大多数情况下,如果 watir 中的某些内容失败(例如找不到元素),那么此后的所有内容也会失败,这就是为什么像 Cucumber 这样的东西很有用基于场景推动自动化。
When using watir-webdriver in combination with Cucumber, the errors, if any, output to an html file that is very well formatted and includes watir-webdriver errors.
This can be accomplished by adding the following flags to your default profile in cucumber.yml:
--color --format pretty --format html -o results.html
More info on this file here. Here's some background on Cucumber.However, if you're using only watir-webdriver from the console, you can redirect watir-webdriver errors to a file by doing the following:
$ ruby your_watir_script.rb 2> watir_debug.log #watir outputs errors as stderr
In most cases, if something in watir fails (e.g an element can't be found) then everything after that will also fail, which is why its useful to have something like Cucumber drive your automation on a scenario basis.
我的解决方案基于 Kirikami 的答案,不需要 Cucumber。此方法仅打印 javascript 控制台错误(没有警告、信息、日志或调试)。
然后,如果您使用 rspec,则可以执行以下操作:
优点:
通过
的测试,您仍然会获得 RSpec 的正常输出 对于缺点:
print_js_errors
的前两行在之后执行每次测试I based my solution on Kirikami's answer, no Cucumber necessary. This approach prints javascript console
Errors
only (no warnings, info, logs, or debug).Then, if you're using rspec, you can do this:
Pros:
Pass
Fail
(e.g. timeout, element not found, etc.)Cons:
print_js_errors
are executed after each test