首页 > 解决方案 > Testcafe 从同一个“文件”中连续运行多个夹具或测试

问题描述

我一直在使用 Testcafe,并且在使用同一个“文件”中的多个“夹具”或“测试”时遇到了一些问题。

IE TESTFILE.js:

import { Selector, Role } from 'testcafe';
import Games from '../Pages/Games.js'
import {partnerAdmin} from '../Data/Roles.js'
const config = require('../Data/config.json')

fixture `Test Fixture #1`
.page `${config.envs.dev.baseUrl}`

test('Testing Test #1', async t => {
  await t 
    .useRole(partnerAdmin)

  await t
    .expect(Selector(Games.gamesList).exists).ok()
    .expect(Selector(Games.topRowGame).exists).ok()
    .click(Games.gameActionsBtn)
   
});

fixture `Test Fixture #2`
.page `${config.envs.dev.baseUrl}`

test('Testing Test #2', async t => {
  await t 
    .useRole(partnerAdmin)

  await t
    // DO OTHER STUFF
   
});

当我尝试这个时,第一个夹具将完美运行......但是,第二个夹具将在登录页面停止。就好像“useRole”函数在第二次被调用时失败了。

我正在使用文档中的角色。

IE Roles.js:

import { Selector, Role, t } from 'testcafe';
import Login from '../Pages/Login.js'
const config = require('../Data/config.json')

const partnerAdmin = Role(`${config.envs.dev.baseUrl}`, async t => {
  await 
  Login.login(config.users.partnerAutoAdmin.name, config.users.partnerAutoAdmin.pass)
});

export { partnerAdmin }

我放置“夹具”或“测试”的顺序并不重要。我可以将第二个夹具交换到第一个夹具之前,它仍然做同样的事情。第一次运行,但第二次直接失败,好像它不记得第二次点击登录页面时做了什么。

有人知道我在这里可能会缺少什么吗?我正在使用似乎正常工作的角色和页面模型。不幸的是,第一个测试运行,但由于某种原因无法继续通过第二个测试,即使我只是复制了相同的登录/角色设置。

标签: testingautomationautomated-testse2e-testingtestcafe

解决方案


推荐阅读