未知错误:无法获得自动扩展

时间:2017-08-02 09:53:19

标签: ruby google-chrome selenium selenium-webdriver headless

无法在无头模式下运行测试;它似乎不是一个问题片段,因为我以不同的方式尝试它,结果是一样的。

<?php
include "citrix.php";
$citrix = new Citrix('API Key');
$citrix->set_organizer_key('organizer_key');
$citrix->set_access_token('access_token');
try
{
    $organizer_key = $citrix->get_organizer_key();
    $citrix->pr($organizer_key);
}catch (Exception $e) { 
    $citrix->pr($e->getMessage());
}
try
{
    $webinars = $citrix->citrixonline_get_list_of_webinars() ;
    $citrix->pr($webinars);
}catch (Exception $e) { 
    $citrix->pr($e->getMessage());
}
try
{
    $response = $citrix->citrixonline_create_registrant_of_webinar('webinar id', $data = array('first_name' => 'First Name', 'last_name' => 'Lastnmae', 'email'=>'email@email.com')) ;
    $citrix->pr($response);
}catch (Exception $e) { 
    $citrix->pr($e->getMessage());
}
try
{
    $webinars = $citrix->get_registrants_of_webinars('webinar id') ;
    $citrix->pr($webinars);
}catch (Exception $e) { 
    $citrix->pr($e->getMessage());
}
try
{
    $citrix->citrixonline_delete_registrant_of_webinar('webinar id', 'registrant id') ;
}catch (Exception $e) { 
    $citrix->pr($e->getMessage());
}  

错误

  caps = Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: { binary: "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome",
                                                                           args: [ "--headless" ]})
  @driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
  

Chrome浏览器:59.0.3071.115(最新)

     

Chrome驱动程序: chromedriver = 2.31.488774(最新)

     

使用的语言: Ruby

1 个答案:

答案 0 :(得分:1)

这是chromedriver中的一个已知问题。如github

中所述
  

这是Chromedriver的长期问题。窗口调整大小   不与chromedriver合作,社区对此保持沉默   错误修复。如果调整大小对您的测试并不重要,我会的   建议您完全避免使用manage()方法并使用解决方法   使用ChromeOptions让您的浏览器窗口始终最大化   启动你的chromedriver实例化时的对象。

尽管每个人都没有这样做,但问题仍然存在。它主要通过将chrome或chromedriver更新到最新版本来解决(对大多数人来说仍然不适用)

最好不要在chrome上使用最大化或调整大小活动。但是如果你愿意,你可以使用ChromeDriver建议的ChromeOptions

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");