Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在正常测试期间,在每条指令中执行并行def_Javascript_Cucumber_Watir - Fatal编程技术网

Javascript 在正常测试期间,在每条指令中执行并行def

Javascript 在正常测试期间,在每条指令中执行并行def,javascript,cucumber,watir,Javascript,Cucumber,Watir,让我们想象一下,我有一个正常的自动化测试,使用Watir和Cucumber,它进入一个网页,做一些事情,然后结束。在我对场景进行的每次单击和每次微操作(假设一个正常步骤包含几个微操作)之后,我想进行检查 检查是在Firefox控制台中查找JavaScript错误(我已经有了一个读取FF控制台显示的系统)。我希望这项检查在自动化的每一个动作之后进行 我现在增加的频率最多的是使用: AfterStep do |scenario| raise get_js_error_feedback() unl

让我们想象一下,我有一个正常的自动化测试,使用Watir和Cucumber,它进入一个网页,做一些事情,然后结束。在我对场景进行的每次单击和每次微操作(假设一个正常步骤包含几个微操作)之后,我想进行检查

检查是在Firefox控制台中查找JavaScript错误(我已经有了一个读取FF控制台显示的系统)。我希望这项检查在自动化的每一个动作之后进行

我现在增加的频率最多的是使用:

AfterStep do |scenario|
  raise get_js_error_feedback() unless get_js_error_feedback().empty?
end

但这还不够。有什么想法吗?

要获得更细粒度,您可以使用

您可以创建一个侦听器,在每次单击操作(和其他事件)后执行操作:

执行单击操作时,将执行单击后
方法中的代码:

browser.button.click
#=> 'after_click'

我不确定您的
get\u js\u error\u feedback
方法中有什么内容。您可能需要或不需要对其进行一些更改,以便侦听器可以使用它。

当然,我需要一些优雅的东西来启动“check for JS”函数,但我不想在每个方法的每个函数中都编写调用。
browser = Watir::Browser.new :firefox, :listener => JavascriptListener.new()
browser.button.click
#=> 'after_click'