Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Selenium Webdriver未知错误:性能(Ruby)_Ruby_Jquery Ui_Selenium Webdriver_Webdriver_Jquery Ui Slider - Fatal编程技术网

Selenium Webdriver未知错误:性能(Ruby)

Selenium Webdriver未知错误:性能(Ruby),ruby,jquery-ui,selenium-webdriver,webdriver,jquery-ui-slider,Ruby,Jquery Ui,Selenium Webdriver,Webdriver,Jquery Ui Slider,更新 此后,我以一种更简单的方式复制了这个问题 HTML: <html> <head> <script src="../../../libs/jquery-1.11.3.min.js"></script> </head> <body> <div id="abc" style="width:100px;height:100px;background-color:green;"></div>

更新

此后,我以一种更简单的方式复制了这个问题

HTML:

<html>
<head>
  <script src="../../../libs/jquery-1.11.3.min.js"></script>
</head>
<body>
  <div id="abc" style="width:100px;height:100px;background-color:green;"></div>
  <script type="text/javascript">
  $("#abc").on('click', function() {
    alert('clicked');
  });
  </script>
</body>
</html>
Ruby运行时,JavaScript警报未按预期打开;相反,Ruby生成以下堆栈跟踪:

"performActions"
/usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok': performActions (Selenium::WebDriver::Error::UnknownError)
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/default.rb:107:in `request'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:61:in `call'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:640:in `execute'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:417:in `send_actions'
    from /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/common/w3c_action_builder.rb:164:in `perform'
    from finder/tests/automated/test.rb:11:in `<main>'
其中
元素
是由jQuery UI滑块创建的可移动滑块-请参阅。我们使用的是版本
jquery-ui-1.11.4.custom/jquery ui.min.js

手动使用滑块时,滑块工作正常,但验收测试抛出:

TestDistanceSlider#test_store_container_and_markers_updated_when_slider_moved:
Selenium::WebDriver::Error::UnknownError: performActions
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/default.rb:107:in `request'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:61:in `call'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:640:in `execute'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:417:in `send_actions'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/common/w3c_action_builder.rb:164:in `perform'
    tests/automated/test_distance_slider.rb:18:in `_move_slider_by_percent'
    tests/automated/test_distance_slider.rb:24:in `_move_slider_to_top'
    tests/automated/test_distance_slider.rb:139:in `test_store_container_and_markers_updated_when_slider_moved'
我们如何诊断抛出的
Selenium::WebDriver::Error::UnknownError:performActions
的原因

我们已经尝试过这种解决方法,但它会产生相同的错误:

 @driver.action.click_and_hold(element).move_by(100, 0).release.perform                                                             

最好的猜测是您使用的是一些旧版本的geckodriver,因为actions类有缺陷,并且最近已经实现

我试过你的例子,效果很好。这是它的截图

规格:
Firefox:53.0.4
壁虎河:0.16.1
selenium webdriver:3.4.0

让我知道它是否适用于最新版本。

希望能有帮助

您好,当您决定使用Ruby Selenium绑定时,为什么不使用WATIR,WATIR是Ruby Selenium绑定的良好包装器。增加了许多额外的功能。
TestDistanceSlider#test_store_container_and_markers_updated_when_slider_moved:
Selenium::WebDriver::Error::UnknownError: performActions
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/default.rb:107:in `request'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/http/common.rb:61:in `call'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:640:in `execute'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/remote/w3c_bridge.rb:417:in `send_actions'
    /usr/local/rvm/gems/ruby-2.2.5/gems/selenium-webdriver-3.4.0/lib/selenium/webdriver/common/w3c_action_builder.rb:164:in `perform'
    tests/automated/test_distance_slider.rb:18:in `_move_slider_by_percent'
    tests/automated/test_distance_slider.rb:24:in `_move_slider_to_top'
    tests/automated/test_distance_slider.rb:139:in `test_store_container_and_markers_updated_when_slider_moved'
 @driver.action.click_and_hold(element).move_by(100, 0).release.perform