oracle 赛普拉斯没有定义

iklwldmw  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(118)

我试图连接到一个oracledb,它的工作,但我现在试图通过Cypress.env()的凭据,它不工作。似乎我不能像这样通过env变量:
Helper file/helpers/db.js包含以下内容:

async function getConnection() {
  return oracledb.getConnection({
    user: Cypress.env("DB_USERNAME"),
    password: Cypress.env("DB_PASSWORD"),
    connectString: Cypress.env("DB_CONNECTION_STRING")
  });
}

在cypress.env.json中,它们是这样设置的。

{
  "DB_USERNAME": "THE-USERNAME",
  "DB_PASSWORD": "THE-PASSWORD",
  "DB_CONNECTION_STRING": "something.com/blabla.com"
}

这个测试只是运行一个cy.task()来执行db.js文件中的代码。
如何在.getConnection()函数中引用这些env变量?

rur96b6h

rur96b6h1#

根据调用该函数的方式,您需要传入config对象,而不是使用Cypress.env use config.env

cypress.config.js - startup

import { defineConfig } from "cypress";
import { oracledb } from ...

async function getConnection(config) {
  return oracledb.getConnection({
    user: config.env("DB_USERNAME"),
    password: config.env("DB_PASSWORD"),
    connectString: config.env("DB_CONNECTION_STRING")
  });
}

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      getConnection(config)
    },
  },
})

cypress.config.js - task

import { defineConfig } from "cypress";
import { oracledb } from ...

async function getConnection(config) {
  return oracledb.getConnection({
    user: config.env("DB_USERNAME"),
    password: config.env("DB_PASSWORD"),
    connectString: config.env("DB_CONNECTION_STRING")
  });
}

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      on('task', {
        getConnection(config)
      }
    },
  },
})

相关问题