Ich verwende NightWatch.js und für einige UI-Tests und Ich möchte die Standard-Browser-Instanz mit den zusätzlichen gewünschten capabilities starten (dh eine Erweiterung ist aktiviert mit einigen spezifischen Werten angewendet).Aktivieren und Ändern von Chome-Erweiterungen in der Standard-NightWatch-Browser-Instanz (speziell ModHeader-Erweiterung)
Hinweis: Ich kann die Aktionen ausführen, aber nicht innerhalb der Standard-Browser-Instanz.
Um völlig klar zu sein, tun die Aktionen sieht manuell wie: Link zur Erweiterung:https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj
ich in der Lage bin, die Erweiterung zu ermöglichen und auch die Werte aktualisieren Sie diesen Befehl in einem Pageobject-Datei gespeichert ist :
setChromeOptions(url) {
const chromeCapabilities = webdriver.Capabilities.chrome();
// setting chrome options
const chromeOptions = {
args:
// path to local ModHeader extension
['--load-extension=/Users/raja.bellebon/AppData/Local/Google/Chrome/User Data/Default/Extensions/idgpnmonknjnojddfkpgkljpfnnfcklj/2.1.2_0/'],
};
chromeCapabilities.set('chromeOptions', chromeOptions);
const driver = new webdriver.Builder().withCapabilities(chromeCapabilities).build();
driver.get('chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/_generated_background_page.html');
// setup ModHeader extension with the header value
driver.executeScript(`
localStorage.setItem('profiles', JSON.stringify([{ /* eslint-env browser*/
title: 'Selenium',
hideComment: true,
appendMode: '',
headers: [
{ enabled: true, name: 'X-Static-Homepage', value: 'true' },
],
respHeaders: [],
filters: [],
}]))`);
driver.get(url);
return this;
}
die Funktion wird zu Beginn des Tests (als erster Schritt oder in einem before
) genannt. Wenn ich den Code ausführe, öffnet sich ein zweites Browserfenster und die Aktionen werden innerhalb ausgeführt. In der Zwischenzeit hat die Haupt (oder Standard) -Browserinstanz keine Erweiterung. Wie kann ich Erweiterungen in der Haupt-Browser-Instanz ändern?
Nachdem ich ein paar Blogs gelesen habe, habe ich festgestellt, dass ich die conf.js modifizieren muss und meinen Code dort anwenden muss, aber ich bin nicht in der Lage, den aktuellen Treiber zu erhalten.
Ich bin mit massiven Kopfschmerzen fest ... Jede Hilfe wäre willkommen, Danke!
Hey, danke für deine Antwort! Bist du sicher, dass es funktioniert? Ich erinnere mich, dass ich in der Lage war, die Seite mit dem modHeader-Set zu starten..aber leider hatte ich zwei Tabs geöffnet, eines mit den gesetzten Headern und dasjenige, wo mein Test ausgeführt wurde ... Wenn du nur ein Tab hast und der Test ausgeführt wird innerhalb der Seite mit dem Header Set - Nizza !!! – Raja