【问题标题】:Retrieve value from Database using cypress使用柏树从数据库中检索值
【发布时间】:2019-11-18 06:23:10
【问题描述】:

谁能帮我解决以下情况?

我必须执行select 语句并将查询结果存储在使用赛普拉斯的变量中。

下面是我试过的代码。我想存储查询的结果

select id from invoices where INumber = '.invoiceNumber.' 到变量rec

请帮助我实现这一目标。

cy.task('sqlServer:execute',"select id from invoices where INumber = '.invoiceNumber.'")
.then(function (recordset) {
    var rec = recordset
})

【问题讨论】:

  • 你能详细说明sqlServer:execute是什么。
  • 我不确定这是柏树的最佳用途。你是在这里测试 UX 还是 DB?是否有实现相同功能的 REST API?只是想了解您在这里测试的内容。
  • sqlServer:execute - 这个是建立到数据库的连接。我必须执行 select 语句并存储查询结果。我真的不知道如何实现这一目标。上面的代码不正确,我试过了,但没有给出任何结果。
  • 使用代码实现SQL连接 database = require('./database'); +const sqlServer = require('cypress-sql-server');
  • 有人尝试将 sql server 调用到 typescript 文件中吗?

标签: cypress


【解决方案1】:

我可以举个例子。 在测试 sepc.js

describe('test', () => {
  it("test", () => {
    cy.task("query", {
      sql: `
      select
        id
      from 
        invoice      
      `
    }).then((resp) => {
      console.log(resp.rows)
    });

在 index.js 中

const pg = require("pg");
module.exports = ( on,config ) => {
  on( "task", {
      query ({ sql, values }) {
        const pool = new pg.Pool(config.db);
        try {
            return pool.query(sql, values)
        } catch (e) {
        }
      }
  });
}

【讨论】:

  • 我们如何在 typescript 中达到同样的效果?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多