2017-04-27 1 views
2

Im Selen in setzen wir mobileEmulation verwenden könnten Chrom-Treiber für mobilen Moduspytest-Selen Verwendung mobile_emulation oder Useragenten hinzufügen

mobile_emulation = { 
     "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 }, 
     "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" } 
     chrome_options = Options() 
     chrome_options.add_experimental_option("mobileEmulation", mobile_emulation) 
    webdriver.Chrome(chrome_options = chrome_options) 

ich das überprüfen pytest-Selen-Funktionen Optionen ändern muß, aber nicht für Benutzeragenten arbeiten

Gibt es irgendeine Lösung für mich, Mobile in Pytest-Selen zu simulieren?

dank

+0

Das sieht aus wie der Code aus dem [Beispiel] (https://sites.google.com/a/chromium.org/chromedriver/mobile-emulation). Was meinst du mit "nicht arbeiten"? Was geschieht? Erhalten Sie einen Fehler? –

+0

Oh, ich möchte den Pytest-Selen-Bericht verwenden, also würde ich den Useragent an ihn übergeben, scheint nicht zu funktionieren, der Chrome-Browser nicht Wirkung für die Useragent und Metriken –

+0

Ich fürchte, das ist mir immer noch nicht klar. Können Sie genau zeigen, was Sie gerade sehen und was Sie sonst erwarten würden, wenn es funktioniert? –

Antwort

0

Temp Lösung ist, den Code auf dem die dirver Informationen zu erhalten conftest.py platzieren

die Ausbeute Taucher mit der pytest-Selen zu lassen.

@pytest.yield_fixture 
def mobileSelenium(request): 
    mobile_emulation = { 
    "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 }, 
    "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" } 


    chrome_options = Options() 
    chrome_options.add_experimental_option("mobileEmulation", mobile_emulation) 
    driver = webdriver.Chrome(chrome_options = chrome_options) 
    request.node._driver = driver 
    yield driver 
    driver.quit() 
Verwandte Themen