Eine andere mögliche Lösung besteht darin, ein beliebiges Statusclearing in eine afterEach
zu setzen, die ausgeführt wird, nachdem ein Test ausgeführt wurde: (siehe Ссылка )
Dies passiert, weil Ihr Browser noch nicht geöffnet ist, wenn Sie versuchen, auf seine lokale Speicherung zuzugreifen.
Sie sollten Ihre localStorage-Manipulation nach dem Öffnen des Browsers vornehmen. Oder, wie in dem Kommentar vorgeschlagen, versuchen Sie, die JS-Ausführung des ersten Tests zu versuchen (wenn es Ihrem Szenario entspricht).
"data:"
urls Das Problem ist, dass localStorage von "data:" URLs nicht unterstützt wird
Ich habe dieses Problem gefunden: Ссылка
Das Chrome 32-Upgrade hat es wieder kaputt gemacht. Das Herunterladen des neuesten Chrom-Drivers (2.8) behebt es.
Aktualisieren Sie also einfach Ihren Chrometreiber .
Ich habe dieses Problem gelöst, indem ich window.location überprüft habe, bevor ich versuche, sessionStorage oder localStorage zu löschen / zu ändern.
Wenn eine Seite nicht geladen wurde, entspricht window.location.hostname
der leeren Zeichenkette ''
. Wenn Sie also die leere Zeichenfolge erhalten, versuchen Sie nicht, mit sessionStorage
oder localStorage
zu interagieren.
Hier ist etwas (ES6) Code, den ich in meinem Winkelmesser verwendet habe, um diesen Fehler zu vermeiden. Beachten Sie, dass es sich um eine After-Funktion von gurke-js handelt, die aber immer noch vom Winkelmesser mit Hilfe von Chrom ausgeführt wird. Sie zeigt, was Sie tun müssen, um diesen Fehler zu vermeiden:
%Vor%Tags und Links angularjs selenium selenium-webdriver protractor selenium-chromedriver