2017-04-23 71 views
4

当运行我webdriver的脚本,我越来越有以下消息的确认对话框禁用\用户名\ AppData的\本地的\ Temp \ scoped_dir6312_32763 \内部”。加载解压后的扩展名被管理员禁用。加载由管理员

想重试吗?

是否

单击“是”可让测试运行。

我不知道为什么我会收到此对话框提示,

尝试以下解决方法提及,但他们都不是工作与最新版本

  1. 取代镀铬驱动程序。
  2. 在我的脚本中添加了以下代码:

    ChromeOptions options = new ChromeOptions(); options.addArguments(“no-sandbox”); options.addArguments(“disable-extensions”); driver = new ChromeDriver(options);

下面是我的测试方法:

公共无效登录()抛出IOException异常{

test = extent.startTest("Login"); 

    signInPage = new SignInPage(driver); 

    signInPage.enterMailId(); 

    String screenShotPath = GetScreenShot.capture(driver, "enterMailId"); 
    test.log(LogStatus.PASS, "Email id is entered successfully: " + test.addScreenCapture(screenShotPath)); 


    signInPage.enterpwd(); 
    //test.log(LogStatus.INFO, "Password is entered successfully"); 
    screenShotPath = GetScreenShot.capture(driver, "enterpwd"); 
    test.log(LogStatus.PASS, "Password is entered successfully: " + test.addScreenCapture(screenShotPath)); 

    signInPage.clickOnLogin(); 
    test.log(LogStatus.PASS, "User logged in successfully"); 

下面是一个调用浏览器的方法:

private void initChromeBrowser(){ 
      System.setProperty("webdriver.chrome.driver", userdir +"\\chromedriver.exe"); 
      ChromeOptions options = new ChromeOptions(); 
      options.addArguments("test-type"); 
      options.addArguments("no-sandbox"); 
      //Fix for cannot get automation extension 
      options.addArguments("disable-extensions"); 
      options.addArguments("start-maximized"); 
      options.addArguments("--js-flags=--expose-gc");   

      options.addArguments("disable-plugins"); 

      options.addArguments("--enable-precise-memory-info"); 
      options.addArguments("--disable-popup-blocking"); 
      options.addArguments("--disable-default-apps"); 
      options.addArguments("test-type=browser"); 
      options.addArguments("disable-infobars"); 

      driver = new ChromeDriver(options); 
      launchApp(); 
     } 

莫不是是我应该在脚本中加入的其他任何东西来防止对话框。请建议。在此先感谢

+0

,驱动程序和浏览器是否使用的是硒的版本?你的测试步骤是什么?什么对你有用?显示代码。你卡在哪里? – DebanjanB

回答

3

升级到ChromeDriver v2.29后,我遇到了同样的问题。我有Chrome v58.0。它看起来像一个开放的问题:https://bugs.chromium.org/p/chromedriver/issues/detail?id=639#c26

根据您的版本,YMMV,在我的情况下,我不得不降级到ChromeDriver v2.27。

+1

谢谢你,降级到v2.27解决了我的问题,但现在我下面的错误遇到: 'org.openqa.selenium.WebDriverException:未知的错误:无法从未知错误得到自动化扩展 :页找不到:chrome-extension:// aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html' 对此有何想法? – user7836878

1

您可以将useAutomationExtension能力设置为false。

ChromeOptions options = new ChromeOptions(); 
    options.setExperimentalOption("useAutomationExtension", false); 
    WebDriver driver = new ChromeDriver(options); 

此功能将有助于不加载Chrome自动化扩展。因此,“未能加载扩展名”弹出窗口不会出现。

但是请注意,如果没有Chrome自动扩展程序,您将无法执行任何窗口大小调整/定位操作。

希望这会有所帮助!

来源:https://bugs.chromium.org/p/chromedriver/issues/detail?id=1749

0

如果你去chrome://version/你可以在命令下看到:

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-extensions --disable-extensions-except="C:\Users\Inno3\AppData\Local\Temp\scoped_dir80288_6333\internal" --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --ignore-certificate-errors --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12354 --safebrowsing-disable-auto-update --start-maximized --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\Inno3\AppData\Local\Temp\scoped_dir80288_30914" --flag-switches-begin --flag-switches-end data:,

这就是为什么它抛出的错误,我不知道为什么它给错误,也许用户政策或Chrome更新?

--disable-extensions-except="C:\Users\Inno3\AppData\Local\Temp\scoped_dir80288_6333\internal"

我相信参数由硒添加,你需要下面的命令来告诉硒不添加它。

在C#:

chromeOptions = OpenQA.Selenium.Chrome.ChromeOptions(); 
chromeOptions.AddAdditionalCapability("useAutomationExtension", false); 
river = new ChromeDriver(chromeOptions); 
launchApp(); 

在Java:

chromeOptions.AddAdditionalCapability("useAutomationExtension", false) 
0

//Set the system property for chrome browser location 
 
\t \t \t \t System.setProperty("webdriver.chrome.driver", Global.sChromeDriverPath); 
 
\t \t \t \t //Set the Chrome capabilities 
 
\t \t \t \t ChromeOptions options = new ChromeOptions(); 
 
\t \t \t  options.addArguments("test-type"); 
 
\t \t \t  options.addArguments("start-maximized"); 
 
\t \t \t  options.addArguments("--js-flags=--expose-gc"); 
 
\t \t \t  options.addArguments("--enable-precise-memory-info"); 
 
\t \t \t  options.addArguments("--disable-popup-blocking"); 
 
\t \t \t  options.addArguments("--disable-default-apps"); 
 
\t \t \t  options.addArguments("--enable-automation"); 
 
\t \t \t  options.addArguments("test-type=browser"); 
 
\t \t \t  options.addArguments("disable-infobars"); 
 
\t \t \t  options.addArguments("disable-extensions"); 
 
\t \t \t  options.setExperimentalOption("useAutomationExtension", false); 
 
\t \t \t  Global.driver = new ChromeDriver(options);

+0

通过使用上面的代码,您可以禁用弹出窗口和午餐铬驱动程序成功在硒自动化Chrome驱动程序版本 - ChromeDriver 2.34 Chrome浏览器版本 - 63.0.39 – Srihari

相关问题