12

Vorausgesetzt, Selenium 2 schließt das Devtools-Fenster, das mein Emulatorprofil enthält, das unter meinem Benutzerprofil für Chrome gespeichert ist. Gibt es eine Möglichkeit, Devtools mit einem Selen-Skript zu öffnen? HierIst es möglich, Google Chrome Devtools automatisch zu öffnen?

ist die Info auf dem devtools Fensterschließ Ausgabe https://sites.google.com/a/chromium.org/chromedriver/help/devtools-window-keeps-closing

fühle ich mich ein wenig erschöpft, einige dieser Chrom Übersprechparameter versuchen, von denen nur eine http://peter.sh/experiments/chromium-command-line-switches/

Der eine scheint zu funktionieren, dass jeder hatte Affekt wird die folgende

options.addArguments("user-data-dir=/Path/to/chrome/profile"); 

Wenn es keine Möglichkeit gibt, die Entwickler-Tools Fenster oder Fenster zu öffnen, ist es eine Möglichkeit, die emul zu initialisieren Ator?

Antwort

-1

Haben Sie die console API für Ihre Bedürfnisse ausprobiert? Es ermöglicht Ihnen, einige Dev-Tool-Funktionen aus JS aufzurufen.

+0

Wenn Ihr Testskript würde die Tastenanschläge [Strg + Shift + I] ruft, dass die Arbeit tun? –

+0

Selen automatisiert Browser. Sie verwenden die Devtools, aber Sie können damit nichts anfangen, – Stas

0

Sie können die Robot-Klasse für dieselbe verwenden. Es wird Ihnen helfen, die Dev-Tools in jedem Browser zu öffnen.

Verwenden Sie diesen Code auf dem Platz, den Sie dev-tools

try{ 
     Robot robot=new Robot(); 
     robot.keyPress(KeyEvent.VK_F12); 
     robot.keyRelease(KeyEvent.VK_F12); 
    } 
    catch(Exception ex){ 
     System.out.println(ex.getMessage()); 
    } 
+0

Hi Shubham. Irgendeine Idee, wie man den Text von der Konsolenregisterkarte in den DEV-Werkzeugen erfasst? – Priya

0

Sie können unten angegebenen Code verwendet öffnen wollen, es funktioniert gut mit FireFox nur den Browser ändern

public void open(String url) { 
    driver.get(url); 
    Actions action = new Actions(driver); 
    String pressF12=Keys.chord(Keys.F12,""); 
    driver.findElement(By.id("lst-ib")).sendKeys(pressF12); 
} 
0

Da die Der gleiche Link, den Sie angegeben haben, besagt, dass ChromeDev-Tools seit dem 2.x nicht mehr mit Selenium's ChromeDriver verwendet werden können. Es ist einfach in direktem Konflikt, du könntest das eine oder das andere benutzen.

Die einzige Möglichkeit, eine Problemumgehung durchzuführen, besteht darin, die Interaktivität des Chrome-Treibers anzuhalten, das DevTool über ein anderes Automatisierungsframework wie die Robots-API zu starten, alles Notwendige auszuführen und fortzufahren.

Aber ich denke vielleicht, was ich von Dev-Tools brauche, gibt es keine Alternative zu dem, was Sie brauchen, indem Sie Chrome beim Start die richtige Konfiguration geben? (Laden eines anderen Profils oder Laden eines emulierten Geräts)

+0

Ab Chrome 63 können Sie DevTools jetzt gleichzeitig mit Selen verwenden. Siehe [Remote-Debugging-Unterstützung für mehrere Clients] (https://developers.google.com/web/updates/2017/10/devtools-release-notes#multi-client). –

0

Warum brauchen Sie die Chrom Devtools?

  • Wird der Netzwerkverkehr überwacht? Warum nicht Firefoxdriver mit firebug.xpi oder browsermobproxy verwenden.
  • Zum Öffnen einer Seite im Browser des emulierten Geräts. Dies kann mit Chrom gemacht werden, ohne die Devtools zu öffnen.

WebDriver mit Chrom emulierten Browser

Dies ist ein Code-Schnipsel, die Sie Chrome-Browser, um Feuer in einer bestimmten emulieren Version verwenden können. Beachten Sie, dass der Schlüssel hier der Wert deviceName ist, der übereinstimmen sollte, wie er im Chrome-Browser von Ihnen erwähnt wird.

public static WebDriver MobileOpen() 
{ 
    Map<String, String> mobileEmulation = new HashMap<String, String>(); 
    System.setProperty("webdriver.chrome.driver","path/to/chromedriver"); 
    mobileEmulation.put("deviceName", "Google Nexus 6"); 
    Map<String, Object> chromeOptions = new HashMap<String, Object>(); 
    chromeOptions.put("mobileEmulation", mobileEmulation); 

    DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
    capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); 

    WebDriver driver = new ChromeDriver(capabilities); 
    return driver; 
} 

Hoffe, das hilft.
Edit: Ich sah gerade, dass es eine 3 Jahre alte Post ist. Der Typ hat wahrscheinlich seinen Weg nach Hause gefunden. : P

1

am Terminal, geben Sie den folgenden -

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --auto-open-devtools-for-tabs 
+0

siehe auch: https://stackoverflow.com/questions/43909743/chromes-auto-open-devtools-for-tabs – Dzenly

Verwandte Themen