javascript - 量角器,无法从会话存储中获取正确的数据
问题描述
我是量角器的新手,我需要从会话存储中获取数据,我需要检查一个字段是否存在。我怎样才能做到这一点?我必须检查登录用户是否有字段“firstCode”的值。这是 sessionStorage 数据的示例:
{"bookCode":"CNMPPS","agency":"vu","topCode":"HHH4C","firstDate":"14042018","secondDate":"","firstCode":"ROM","secondCode":"ROM","carCode":"RM","market":"","lang":"en","customer":{"FieldNumber":"IKH8272HKS","title":"MR","firstName":"Mark","lastName":"Venium","email":"markvenium@hotmail.com","customerType":"","loyaltyTier":""}}
这是我的代码stepdefinitions.js
:
var j_userData = browser.driver.executeScript('sessionStorage.getItem("userData");');
var firstCode = JSON.parse(j_userData).firstCode;
expect(firstCode).to.not.be.null;
控制台返回给我这个:
SyntaxError: Unexpected token M in JSON at position 0
at JSON.parse (<anonymous>)
有人可以帮我从 sessionStorage 中获取正确的字段值吗?谢谢你。
解决方案
如果您尝试直接从量角器访问窗口对象/浏览器范围,它可能会抛出“未定义窗口”等错误,因为当您尝试访问它时可能未加载/定义窗口对象/浏览器范围。
解决方案
browser.executeScript('return window.sessionStorage.getItem("myKey");').then(function (myValue) {
console.log('testcase myValue == ', myValue);
});
您将在myValue (console.log('testcase myValue == ', myValue))中获得整个对象。
推荐阅读
- javascript - 2 秒后在视口中显示/隐藏 div
- python - 如何在Python中一次输入完整数组的二维数组
- python-3.x - 在pytorch中,如何调试JIT错误信息“RuntimeError: Only tensors or tuples of tensors can be output from traced functions”?
- algorithm - 请告诉我 贪心算法 时间分析 对于一个问题
- laravel - laravel 雄辩的一对一关系
- python - 如何使用 gitlab 运行 GUI 自动化?
- java - 如何使用 Java Streams 将第一个元素与第二个元素相乘
- html - 我有一个宽度为 1240px 的包装器和一个中间有 1240px 空白空间的图像。如何放置它以使包装纸覆盖它?
- python - 如果不是数字/数字 Python,则删除 len 列表
- mysql - 使用 COUNT(*) 查询返回零行