有没有办法捕获in DOM
中发生的错误Selenium
并可能将其标记为页面中的错误?
举个简单的例子,假设我试图在一个不存在的HTML控件上绑定一个事件,我的浏览器抛出一个错误:
element abcd not found in the console.
现在,如果我希望相同的错误无法通过我的selenium测试,并且浏览器上显示的消息将显示为错误消息。
可以做这样的事情吗?
将此脚本放在页面上,然后在Selenium中检查JSError:
<script type="text/javascript">
window.onerror=function(msg){
$("body").attr("JSError",msg);
}
</script>
我想知道是否有一种方法可以在运行自动Selenium测试时捕获页面上的JavaScript错误。
问题内容: 因此,我希望我的第一级捕获是处理错误的捕获。反正有没有将我的错误传播到第一个陷阱? 参考代码,尚不可用: 问题答案: 使用新的异步/等待语法,您可以实现此目的。请注意,在编写本文时,并非所有浏览器都支持此功能,您可能需要使用babel(或类似的东西)来转换代码。
编辑:不确定为什么这被标记为回答,因为链接的问题都没有处理这个问题,也没有使用JavaScript。我正在寻找捕捉此错误的方法,而不是防止它,因为在Javascript版本中,InvisibilityOfelementLociated等方法不可用。 我有一个网站,我正在设置一些基本的自动化测试使用nodeJS,selenium和Mocha。当第一次打开站点时,用户单击一个框并删除一个欢迎消息(这里
问题内容: 我正在Ubuntu平台中使用jquery,javascript,php。在页面中,我通过jquery发送一个ajax请求到php文件并获取响应文本。该程序已在Windows-(Wamp)平台和联机环境中成功运行。但是在Ubuntu中,我遇到了JavaScript错误。代码如下… 在Ubuntu中,我收到此错误, “ Uncaught ReferenceError:$未定义” 。该错误显
问题内容: 当我的JS应用程序写入console.log时,我想捕获该日志消息,以便可以AJAX将日志输出到服务器。我怎么做? 写入日志的代码来自外部服务,这就是为什么我不能直接将其ajax的原因。 问题答案: 您可以通过以下方式劫持JavaScript函数: 第1 行将您的函数包装在一个闭包中,因此没有其他函数可以直接访问(出于可维护性的原因)。 第2行 记录了原始方法。 第3行 创建了一个新功
问题内容: 我使用jQuery向服务器发出AJAX POST请求,该请求可以返回状态为302的HTTP响应。然后JavaScript只是将GET请求发送到此URL,而我想在此响应中将用户重定向到URL。这可能吗? 问题答案: 由于给出的原因,接受的答案不起作用。我发表了评论,并提供了一个指向问题的链接,该问题描述了一种黑客程序 但是,这有点肮脏,在深入研究之后,我发现我认为是更好的解决方案- 使用