当前位置: 首页 > 面试题库 >

在AngularJS应用的Protractor测试中访问localStorage

齐昊焱
2023-03-14
问题内容

我正在编写一些测试以验证输入数据是否正确存储在本地存储中,如何从量角器测试中访问localStorage?

...
describe('vgPersist', function() {
  it('Should save input data in local storage until form submitted', function() {
    // Prepare Object and Open browser
    var addOns = new AddOns();
    addOns.get();

    -> Clear localStorage
    -> Get from localStorage

您如何使用executeScript?我可以从executeScript获取数据吗?


问题答案:

要从 本地存储中获取商品,请window.localStorage.getItem()通过executeScript()以下方式使用:

var value = browser.executeScript("return window.localStorage.getItem('key');");
expect(value).toEqual(expectedValue);

清除本地存储 的呼叫clear()

browser.executeScript("window.localStorage.clear();");

为了方便起见,我们还可以在本地存储中放置此帮助对象/包装器:

"use strict";

var LocalStorage = function () {
    this.getValue = function (key) {
        return browser.executeScript("return window.localStorage.getItem('" + key + "');");
    };

    this.get = function () {
        browser.executeScript("return window.localStorage;");
    };

    this.clear = function () {
        browser.executeScript("return window.localStorage.clear();");
    };
};

module.exports = new LocalStorage();


 类似资料:
  • 问题内容: 我们在几个JS文件中为我们的AngularJS应用程序进行了一些量角器端到端测试,它们工作得很好。但是,在整个测试中有很多重复的代码,我们希望对此进行干燥。 例如,每次登录时,我们都必须单击文本元素,键入用户名和密码,然后单击Enter。现在,每个单个JS文件都有其自己的登录功能副本,该副本在每次测试之前都会被调用。 最好将它们重构到我们可以导入的模块中。我已经搜索了几个小时,但是找不

  • 我在Symfony2中有REST API,在AngularJS中有客户端应用。我有用户,用户有Symfony2角色(ROLE_ADMIN,ROLE_USER)。 在security.yml是部分,但在这里我只能设置Symfony2路由路径。 如何阻止对路径的访问,例如: 对于角色为_USER或匿名的用户? (#/某物-是Angular url)

  • 我有角度的代码,它是 并且在量角器中使用了如下代码 我总是得到游戏错误,因为 失败:元素不可见 在代码中的元素(by.model(国家)). Click()工作正常,但没有在弹出窗口中选择md选项,请帮助。

  • 问题内容: 是否可以像在单元测试中一样在量角器测试中访问angular? 用例是我有一个可以转换文本的服务,并且我想访问该服务以转换实际测试脚本中的某些数据。我知道量角器中有这种方法,但是我不知道如何为此目的使用它。 将不胜感激! 问题答案: 有一个函数称为validate()。在dom中找到一个元素,然后运行表达式。 例如。如果要计算http://angularjs.org/网站(在“添加某些控

  • 问题内容: 我是AngularJS的新手,觉得很有趣,但是对于以下情况我不太清楚。 我分配并使用返回数据时遇到错误,无论如何我可以将返回数据分配给吗? 问题答案: 您通常不在工厂,服务或提供商内部使用。通常,您将返回(由返回),然后在控制器(您确实有)中处理promise 。 控制器功能:

  • 问题内容: AngularJS访问cookie的方式是什么?我看到过同时引用Cookie的服务和模块的信息,但没有示例。 有没有,或者没有AngularJS规范方法? 问题答案: 该答案已更新,以反映最新的稳定angularjs版本。一个重要的注意事项是周围有薄薄的包装纸。它们几乎相同,因为它们仅与会话cookie一起使用。虽然,这回答了原始问题,但是您可能还需要考虑其他解决方案,例如使用loca