量角器:sessionStorage变量

xv4*_*v47 7 html5 angularjs protractor

如何在量角器中获得sessionStorage变量的值?我试过了:

browser.executeScript('sessionStorage.getItem("login");');
Run Code Online (Sandbox Code Playgroud)

但是返回null.使用不带browser.executeScript()的sessionStorage.getItem()会为sessionStorage返回未定义的内容.

zpy*_*dee 7

弄清楚了.

browser.executeScript("return window.sessionStorage.getItem('login');");
Run Code Online (Sandbox Code Playgroud)


Leo*_*cci 4

尝试browser.driver.executeScript代替browser.executeScript

IE

browser.driver.executeScript('sessionStorage.getItem("login");');
Run Code Online (Sandbox Code Playgroud)

sessionStorage.getItem("login");还可以使用浏览器开发人员工具手动确认您的 JavaScript 表达式工作正常。

根据您的应用程序以及您为此执行的步骤,它可能会过早请求会话存储项目。如果browser.driver.executeScript不能解决您的问题,请尝试browser.sleep(4000);在 之前添加一个右侧executeScript,以查明这是否是计时问题。

NoteexecuteScript 返回一个 webdriver 承诺,因此除非您将其包装在一个中,否则expect您可能需要这个:

browser.sleep(2000);
browser.driver.executeScript('sessionStorage.getItem("login");').then(function(retValue) {
    console.log(retValue);
});
Run Code Online (Sandbox Code Playgroud)