从命令行运行 cypress 测试,获取 => CypressError:运行此命令时 Cypress 测试已停止

问题描述 投票:0回答:2

赛普拉斯版本10.3.0

我有一个以下 test.cy.js,它是异步 IT 块。

///

import loadFileObjects from '../../../support/load_file_objects'
var fixtureUrl = '/test/mydata/'

describe("TC1_getResidentialInfo", () => {
    var load_test_case;
    it('Validate and load all automation feeds', async () => {
        load_test_case = await loadFileObjects.getJsonObj(fixtureUrl + '/CUP-575-TC1-TC.json');
        })
})

支持/load_file_objects.js

class load_file_objects{
        //it should accept fixture folder structure and test case name
        //returns json object directly using promise
     getJsonObj(testCasePath){
        // return new Cypress.Promise((resolve, reject) => {
            return new Cypress.Promise((resolve, reject) => {
                cy.fixture(testCasePath).then((data) => {
                    cy.log("Test Data for "+testCasePath+ ": " +JSON.stringify(data))
                    resolve(data)
                })
                // do something custom here
              })
            
            //  var data = data;
            //  return data
        // })
    }
}
export default load_file_objects

当我使用 cypress open(测试运行器 UI)运行相同的测试时,它工作正常 请让我在这里缺少什么。

javascript automated-tests cypress cypress-configuration
2个回答
1
投票

需要在某处创建类实例。

约定类名大写。这是最干净的方法

class LoadFileObjects {
  ...
export default LoadFileObjects

import LoadFileObjects from '../../../support/load_file_objects'

it('Validate and load all automation feeds', async () => {

  const loadFileObjects = new LoadFileObjects()
  const load_test_case = await loadFileObjects.getJsonObj(fixtureUrl + '/CUP-575-TC1-TC.json');
})

需要夹具

如果固定文件的路径是固定且一致的,那么您可以使用脚本顶部的

require()
为您执行异步/等待繁重工作。

const load_test_case = require('./cypress/fixtures/test/mydata/CUP-575-TC1-TC.json')

0
投票

我在一些测试中遇到了同样的问题。我的 API 测试不是基于类的,也没有使用固定装置。解决办法是什么?

© www.soinside.com 2019 - 2024. All rights reserved.