2017-04-23 91 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

相關問題