2016-03-23 12 views
7

Mam test Behat z uruchomieniem Selenium, gdy potrzebny jest Javascript. Mój obecny test Behat działa dobrze, jeśli JavaScript (wyłącza Selenium).Test Javascript: plik danych Selenium cookie URL

W tej chwili mój jedyny błąd feedback od Selen jest następujące stwierdzenie:

 
unknown: Failed to set the 'cookie' property on 'Document': Cookies are disabled inside 'data:' URLs. 
     (Session info: chrome=48.0.2564.109) 
     (Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Linux 4.2.0-16-generic x86_64) (WARNING: The server did not provide any stacktrace information) 
     Command duration or timeout: 7 milliseconds 
     Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' 
     System info: host: 'ca7a41afbfee', ip: '172.17.0.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-16-generic', java.version: '1.8.0_45-internal' 
     Driver info: org.openqa.selenium.chrome.ChromeDriver 
     Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=/tmp/.com.google.Chrome.WWmJvH}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=48.0.2564.109, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] 
     Session ID: b8a3f435fe337ca77d523d5b72f6235b (WebDriver\Exception\UnknownError) 

Co robię źle tutaj? Niektóre posty mówią o ciasteczkach, ale tak naprawdę nie wiem, gdzie je dołączyć.

Odpowiedz

9

Nie można ustawić pliku cookie za pomocą sterownika Chrome, dopóki strona nie zostanie w pełni załadowana. Użyj selenu, aby poczekać na załadowanie strony, a następnie ustawić ciasteczka.

+0

Wreszcie mogę przełączyć z selenem [Nightwatch.js] (https://github.com/nightwatchjs/nightwatch), ponieważ wszystko jasne. –

1

Trzeba dodać otwartą stronę przed ciasteczko:

$capabilities = DesiredCapabilities::chrome(); 
$host = 'http://localhost:4444/wd/hub'; // this is the default 
$this->webDriver = RemoteWebDriver::create($host, $capabilities, 5000); 
$this->urnOpen('/'); 
$cookie = array(); 
$cookie['name'] = 'NAME'; 
$cookie['value'] = 'VALUE'; 
$this->webDriver->manage()->addCookie($cookie); 
Powiązane problemy