2014-04-28 15 views
6

Jak uzyskać wartość zmiennej sessionStorage w kątomierzu? Próbowałem:Kątomierz: zmienne sessionStorage

browser.executeScript('sessionStorage.getItem("login");'); 

ale zwraca zerowej. Używanie sessionStorage.getItem() bez browser.executeScript() zwraca undefined dla sessionStorage.

+0

Ja też walczą z tego wymogu. Pls poinformował mnie, jeśli znalazłeś rozwiązanie ... – zpydee

Odpowiedz

4

Spróbuj browser.driver.executeScript zamiast browser.executeScript

tj

browser.driver.executeScript('sessionStorage.getItem("login");'); 

także ręcznie potwierdzić, że twój JavaScript wyrażenie sessionStorage.getItem("login"); działa prawidłowo za pomocą browser developer tools.

W zależności od aplikacji i kroków, które należy wykonać, może za wcześnie zażądać elementu pamięci sesji. Jeśli numer browser.driver.executeScript nie rozwiązuje problemu, spróbuj dodać browser.sleep(4000); tuż przed numerem executeScript, aby dowiedzieć się, czy jest to problem związany z czasem.

Uwaga executeScriptreturns a webdriver promise więc jeśli nie jesteś owijania że w expect może trzeba to:

browser.sleep(2000); 
browser.driver.executeScript('sessionStorage.getItem("login");').then(function(retValue) { 
    console.log(retValue); 
}); 
+0

Użyłem narzędzi programistycznych przeglądarki, aby upewnić się, że zmienna jest dostępna i tak jest. Próbowałem również twój przykład, ale nadal mam wartość null. – xv47

5

zdobione.

browser.executeScript("return window.sessionStorage.getItem('login');"); 
0

To nie jest w porządku. Powinno być ...

browser.driver.executeScript('return window.sessionStorage.getItem("login");').then(function (retVal) { 
 
    console.log(retVal); 
 
});

Powiązane problemy