Ketika saya menjalankan skrip webdriver saya, saya mendapatkan kotak dialog konfirmasi dengan pesan di bawah ini:
Kesalahan Memuat Ekstensi
Tidak dapat memuat ekstensi dari 'C:\Users\username\AppData\Local\Temp\scoped_dir6312_32763\internal'. Pemuatan ekstensi yang belum dibongkar dinonaktifkan oleh administrator.
Apakah Anda ingin mencoba kembali?
Ya Tidak
Mengklik "yes" memungkinkan tes berjalan.
Saya tidak yakin mengapa saya mendapatkan kotak dialog ini,
Saya sudah mencoba solusi yang disebutkan di bawah ini tetapi tidak ada yang berhasil:
Mengganti driver chrome dengan versi terbaru.
Menambahkan kode di bawah ini dalam skrip saya:
ChromeOptions options = new ChromeOptions();
options.addArguments("no-sandbox");
options.addArguments("disable-extensions");
driver = ChromeDriver baru(opsi);
Di bawah ini adalah metode Uji saya:
public void Login() throws 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");
}
Di bawah ini adalah metode yang memanggil browser:
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();
}
Mungkinkah ada hal lain yang harus saya masukkan ke dalam skrip saya untuk mencegah kotak dialog.
Anda bisa menetapkan kemampuan useAutomationExtension
ke false.
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(options);
Kemampuan ini akan membantu untuk tidak memuat ekstensi Otomasi Chrome. Karena itu, "Gagal memuat ekstensi" popup tidak akan muncul.
Tetapi harap dicatat bahwa Anda tidak akan dapat melakukan operasi pengubahan ukuran / posisi jendela tanpa ekstensi otomatisasi Chrome.
Semoga ini membantu!
Sumber : https://bugs.chromium.org/p/chromedriver/issues/detail?id=1749
Saya mengalami masalah yang sama setelah meng-upgrade ke ChromeDriver v2.29. Saya memiliki Chrome v58.0. Sepertinya masalah terbuka: https://bugs.chromium.org/p/chromedriver/issues/detail?id=639#c26
Tergantung versi Anda, YMMV, dalam kasus saya, saya harus menurunkan versi ke ChromeDriver v2.27.
Jika Anda pergi ke chrome://version/
, Anda dapat melihat di bawah Command:
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" --nonaktifkan-hang-monitor --nonaktifkan-popup-blocking --nonaktifkan-prompt-on-repost --nonaktifkan-sync --nonaktifkan-web-resources --mengaktifkan-otomatisasi --mengaktifkan-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:,
Inilah sebabnya mengapa ia melempar kesalahan, saya tidak tahu mengapa itu memberikan kesalahan, mungkin kebijakan pengguna atau pembaruan Chrome?
--disable-extensions-except="C:\Users\Inno3\AppData\Local\Temp\scoped_dir80288_6333\internal"
Saya yakin argumen tersebut ditambahkan oleh Selenium, Anda memerlukan perintah berikut untuk memberitahu selenium agar tidak menambahkannya.
Di C#:
chromeOptions = OpenQA.Selenium.Chrome.ChromeOptions();
chromeOptions.AddAdditionalCapability("useAutomationExtension", false);
river = new ChromeDriver(chromeOptions);
launchApp();
Di Java:
chromeOptions.AddAdditionalCapability("useAutomationExtension", false)