尝试在 Cypress 中打开与 indexedDB 的连接时出错

2023-12-19

我向服务器发出登录请求,然后在将用户重定向到主页之前我尝试 打开indexedDB连接才能看到此页面,因为主页转到indexedDB 并获取一些数据。下面是我的代码和错误照片

    beforeEach(() => {
    cy.request({
      method: 'POST',
      url :'http://localhost:3000/api/auth/login',
      body : {
        email: "email",
        password: "password"
      }
    }).then(function(response) {



        window.indexedDB.open("testDB");

        localforage.config({
          driver: [localforage.INDEXEDDB],
          name: 'testDB',
          storeName: 'testDB',
          version: '1.0',
        });
    
      
      localforage.clear().then(() => {
        localforage.setItem('jobs', [{name: 'fdf'}]);
      });
    }).then(()=>{
      cy.visit('http://localhost:3000/');
    })
  })

我也尝试了这个方法,但是还是不行,请问我做错了什么?

function open() {
  var request = window.indexedDB.open("testDB", 1);
  request.onerror = function(event) {
   
  };
  request.onsuccess = function(event) {
  };

  request.onupgradeneeded = function(event) {
    var db = event.target.result;

    var objectStore = db.createObjectStore("jobs", { keyPath: "name" });

    objectStore.createIndex("name", "name", { unique: false });
    objectStore.add({name: 'fsdf'});
  }
}

describe('The Login Page', () => {


  beforeEach(() => {
    open()
    cy.request({
      method: 'POST',
      url :'http://localhost:3000/api/auth/login',
      body : {
        email: "gfdgfdg",
        password: "gdfgfdg"
      }
    })
        .then(function(response) {

    })
        .then(()=>{
      cy.visit('http://localhost:3000/');
    })
  })

(可能)不正确的一件事是window参考。

Cypress 将浏览器窗口作为自动化“外壳”运行,这就是您使用时得到的结果

window.indexedDB.open("testDB")

但应用程序窗口位于 iframe 内。

您可以通过以下方式访问

cy.window().then(win => win.indexedDB.open("testDB"))

or

cy.state('window').indexedDB.open("testDB")  // undocumented!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试在 Cypress 中打开与 indexedDB 的连接时出错 的相关文章

  • Cypress 装置 - 无法读取未定义的属性(读取“数据”)

    我正在尝试使用固定装置来保存不同测试的数据 特别是用户凭据 这是代码的示例 当进行第二次测试时 我得到了 Cannot read properties of undefined reading data 有什么想法以及如何解决这个问题吗 这
  • 如何在 Cypress 中存储图像的 src 并将其与另一个图像进行比较?

    测试目标是确认如果用户上传新图像 则上传图像的 src 属性会发生更改 这意味着图像已更改 我尝试使用几种方法 概述如下 第一种方法 cy get img then img gt store the src const source img
  • Cypress - 为所有 XHR 请求添加自定义标头

    我注意到X CSRFToken对于从被测应用程序触发的所有 XHR 请求 标头在测试之间被删除 我不确定是否保留此标头 因为我已经通过以下方式保留了 CookieCypress Cookies preserveOnce sessionid
  • Quasar2 Vue3 Cypress 滑动切换状态与 Cypress 浏览器上显示的内容不匹配

    我的 vue 模板
  • 验证 cypress 的加载指示器显示

    我有以下规格 context Contact update gt it only Can update contact gt const address new address 123 const cardId c2card 38AF429
  • 如果没有找到任何元素,我可以防止 Cypress cy.get 失败吗?

    我正在使用赛普拉斯cy get抓取元素 但如果没有 我的测试就会失败 我不想让它失败 我希望它继续下去 测试只是列出存在的项目 如果有 const listItemTitle data cy component list item titl
  • 将cypress测试框架添加到Maven pom.xml

    尝试在 Maven 项目中使用新的 cypress 框架 文档只有一个 npm 模块设置示例 npm install cypress 和一个 package json 使用示例 如何将其转换为 Maven 依赖项中的用法 您也可以直接下载C
  • 比较日期时间函数 cypress

    我有一个表单 允许用户输入日期范围 并且输出将仅包含该特定日期的结果 我可以使用 type 函数将日期输入到表单中 但是 我不确定如何检查结果是否在指定的范围内 例如 如果输入的日期是 17 03 2019 我应该能够使用这样的代码检查表中
  • 如何将参数传递给google cloud build中的docker run

    我正在尝试使用 GCB 运行 cypress 管道 但在 docker 内运行时它崩溃了 如描述的那样解决此问题here https github com cypress io cypress issues 350 是运行 docker i
  • Cypress.io 中选择器的存储位置

    我是赛普拉斯的新手 避免将选择器 定位器硬编码到每个规范中的最佳方法是什么 在其他框架中 我们将创建一个包含所有选择器的配置文件 并让规范引用它 场景 我可能有一个在多个规范中使用的选择器 如果选择器发生变化 我不想在每个规范中更改它 我宁
  • Cypress.io 测试中未发生拖放

    我试图拖动一个元素 然后将其放入放置区域 但测试并未在 Cypress io 中执行拖放操作 如果有人可以就这里的潜在问题提出建议 那将非常有帮助 没有抛出错误 但是这里仍然没有发生拖放 describe Verify the drag a
  • 赛普拉斯将鼠标悬停在名为“自动化”的菜单选项上

    我试图通过使用下面的命令将鼠标悬停在菜单选项 镜头 它位于自动化选项卡下 上 但它似乎不起作用 cy get menu button overlay button projects popover click cy contains Aut
  • 在 Cypress 中如何根据名称选择输入元素?

    我开始学习Cypress 我想使用 cypress io 选择输入字段并提供电话号码 我遵循的代码但它不起作用 但是我可以使用 find 还是有其他方法让输入元素输入电话号码 cy get div contains Phone Number
  • Cypress 通过 console.log 和命令日志来输出

    是否可以重定向或捕获赛普拉斯浏览器日志和命令日志以输出 我读了一些 Cypress githubissues https github com cypress io cypress issues 448关于这个话题 但我不知道如何让它发挥作
  • 如何使用 cypress.io 更改数据库中记录的属性

    我是 cypress 的新手 我想知道如何进行以下检查 我有一个案例 我在数据库中有一个产品 其状态可以是 InStock OutOfStock 和 Discontinued 如果产品处于 InStock 状态 我应该能够将其发送给客户 如
  • 从项目根目录移动 cypress 文件夹

    当我安装并运行 cypress 时 它会搭建一个cypress 我的项目根目录中的文件夹 问题是所有其他测试相关数据都存储在test 文件夹 有没有简单的方法可以将其移动到test cypress并配置 cypress 来查看那里 赛普拉斯
  • 如何在 Cypress 中点击 x 次

    我的网站上有一个对象列表 所有对象旁边都有 添加 按钮 单击第一个 添加 按钮时 将添加该对象 并且该行消失并被下一个对象取代 对象名称相同 在保存之前 我想 click 三次以添加列表中的前三个对象 我怎样才能做到这一点 我知道 clic
  • 预扫描网页进行动态测试

    寻找 JeffTanner 提出的问题的明确答案here https stackoverflow com questions 69095677 cypress adding tests dynamically within a wrap a
  • 在 javascript 中将响应正文 blob 转换为 json 或纯文本

    在我的 cypress 测试中 我提交了一个请求 在响应中 主体返回为blob 我怎样才能检查some text体内的内容 有什么办法可以转换blob into json or plain text 请参阅随附的屏幕截图 添加下面的测试代码
  • 如何在 React 组件测试中使用 data-testid 属性?

    我正在对一个简单的反应组件进行组件测试 我想渲染该组件 然后对其进行一些测试 问题是cy get 似乎没有找到基于的组件data testid属性 我用一个简单的方法测试了它div和div能找到就好了 我在检查时也注意到DOM在 cypre

随机推荐

  • 如何在搜索结果中添加分页

    我的 search php 页面如下所示 get header gt div class search result page section class content area section div
  • 开源线程池库

    我一直在寻找开源线程池库 我可以用它来安排作业 一旦完成单个作业 我希望在线程中收到一些通知 以便我可以完成其余的任务 你们知道有任何开源库正在做类似的工作吗 我可能会在多个差异服务器中使用这个库 我的任务的基本概述是我有项目列表 每个项目
  • 从 Golang image.Image 检索像素数据时,img.At() 或 rgba.Pix() 更快/更好吗?

    阅读来自的答案从 golang image Image 获取像素数组 https stackoverflow com questions 33186783 get a pixel array from from golang image i
  • 在浏览器中打开时,S3 对象 url 不安全(ssl)

    我正在构建一个小型 REST API 服务来存储和检索照片 为此 我使用 S3 如下所示 public String upload InputStream uploadedInputStream Map
  • localtime_r 在程序退出前消耗一些内存

    我使用 valgrind 的 Massif 来跟踪程序退出前最后阶段的内存使用情况 并发现 js DateTimeInfo updateTimeZoneAdjustment DateTime cpp 19 它正在调用 localtime r
  • 逆向工程 HTTP 请求

    我正在尝试解码 Android instagram 应用程序发送到 graph instagram com 的帖子数据 这个问题与这里发现的问题类似 反向工程 HTTP 请求 https stackoverflow com question
  • Any() 的多重枚举和使用

    当我需要执行以下操作时 我试图找出 LINQ 的正确约定是什么 如果有项目 则逐行打印它们 如果没有项目 则打印 No items 我想这样做的方式就像 if items Any foreach string item in items C
  • 除了一个函数之外加载一个包

    我想加载除了一个函数之外的整个包 我看到了诸如以下的解决方法如何从包中仅加载特定函数 https stackoverflow com questions 13146849 how to load only specific function
  • 使用 NHibernate 跨多个数据库填充对象

    我有一个带有多个数据库的 SQL Server Database1 有一个表 其中引用了存储在 Database2 上的表中的 ID 不确定是否可能 但是我可以配置 NHibernate 特别是 Fluent NHibernate 来使从多
  • PostgreSQL array_agg 顺序

    表 动物 animal name animal type Tom Cat Jerry Mouse Kermit Frog Query SELECT array to string array agg animal name animal n
  • 为什么 constexpr 函数对于引用的行为有所不同?

    灵感来自在编译时计算函数参数 https stackoverflow com questions 58468574 counting function arguments at compile time noredirect 1 comme
  • 多个docker compose容器-单个ip

    我有这个应用程序 如何将单个 IP 地址分配给 Web 服务并使用其中的数据库 version 2 services web image kartoffeltoby typo3 latest hostname localhost conta
  • 如何使用Javascript基于按钮单击事件运行.exe文件或.bat文件

    在我当前的项目中 我想使用 JavaScript 使用按钮单击事件来运行 bat 或 exe 文件 批处理文件内容如下图 start S TemperatureSensor exe 单击TemperatureSensor 按钮时启动Temp
  • 使用“sed”查找重复模式

    我正在使用 GNU bash 4 3 48 我期望 echo 23S62M1I19M2D sed s 0 9 M 1 g 会输出62M19M 但事实并非如此 sed s 0 9 M g 删除全部 0 9 M并检索23S1I2D 但团体 1没
  • 支持 DirectX 11 库的编译器

    除 Visual Studio 2010 和 2008 之外 还有哪些编译器支持 DirectX SDK Jun 2010 我是一名初学者 我想使用 DirectX 11 进行编程 但我的互联网非常有限 只能下载很少的文件 300 MB 了
  • 使用 Visual Studio 2015 禁用注释自动缩进

    当我在安装了 Resharper 9 0 0 0 的 Visual Studio 2015 中保存 C 文件时 我查看并搜索了禁用注释缩进的方法 在开始编写实际代码之前 我想先进行伪代码 然而 我一直在调整 Visual studio 和
  • Angular.js 与 jQuery Mobile

    我正在使用 jQuery Mobile 和 Angular js 制作一个应用程序 因为我们在使用这两个库时遇到一些问题 存在一个adapter https github com tigbro jquery mobile angular a
  • C - 使用队列在线程之间传递消息的问题

    我正在尝试使用队列在两个线程之间传递消息 但到目前为止我还没有得到任何结果 当我在收到消息后和发送消息之前打印消息的内容时 它似乎只将其值保留在范围内 我需要使用 1 个服务器线程和多个客户端线程来实现它 但现在我只使用每个线程 1 个 这
  • WordPress 固定链接已更改,无法访问页面

    在我的 WordPress 3 5 2 网站的前端 我有三个按钮 主页 博客和示例页面 当我的固定链接设置设置为Default 我可以访问这三个页面 Home http ec2 xx xxx x xxx compute 1 amazonaw
  • 尝试在 Cypress 中打开与 indexedDB 的连接时出错

    我向服务器发出登录请求 然后在将用户重定向到主页之前我尝试 打开indexedDB连接才能看到此页面 因为主页转到indexedDB 并获取一些数据 下面是我的代码和错误照片 beforeEach gt cy request method