Testing 从Testcafe控制vue导航

Testing 从Testcafe控制vue导航,testing,vue.js,vuejs2,e2e-testing,testcafe,Testing,Vue.js,Vuejs2,E2e Testing,Testcafe,用于测试我使用的Vue2。 运行测试的命令 testcafe firefox test/e2e/specs/ --app \"npm run dev\" --app-init-delay 20000 -S -s test/e2e/screenshots 测试文件 import { ClientFunction, Selector } from 'testcafe'; const devServer = require('../../../webpack/devServer'); fixtur

用于测试我使用的Vue2。 运行测试的命令

testcafe firefox test/e2e/specs/ --app \"npm run dev\"
--app-init-delay 20000 -S -s test/e2e/screenshots
测试文件

import { ClientFunction, Selector } from 'testcafe';
const devServer = require('../../../webpack/devServer');

fixture(`Getting Started`)
// Load the URL your development server runs on.
    .page(`http://localhost:${devServer.port}/#/login`);

test('test login', async t => {
    const userSelector = await new Selector('.login-squere input[type="text"]');
    const passSelector = await new Selector('.login-squere input[type="password"]');
    const logiIn = await new Selector('.login-squere button');
    await t.typeText(userSelector, 'manager')
        .typeText(passSelector, 'manager')
        .click(logiIn);
});
我希望在之后。单击(登录)站点以路由到/#/projects,但什么也没有发生 我加入了测试

await t.typeText(userSelector, 'manager')
        .typeText(passSelector, 'manager')
        .click(logiIn)
        .navigateTo(`http://localhost:${devServer.port}/#/projects`);
同样没有结果。如果我将.page设置为/#/projects,它将被重新路由到登录

所以我只能测试登录页面,因为我不能让testcafe将Vue路由到下一个视图


只有在登录后单击“我们有ajax”时,才会出现此问题。TestCafe没有请求处理程序,因此最好为e2e尝试其他方法

test('login', async t => {
  await login(t);
});
并将代码分离为一个新函数:

const login = async t => {
  const userSelector = await new Selector('.login-squere input[type="text"]');
    const passSelector = await new Selector('.login-squere input[type="password"]');
    const logiIn = await new Selector('.login-squere button');
    await t.typeText(userSelector, 'manager')
        .typeText(passSelector, 'manager')
        .click(logiIn);
};

我试着把你的问题复制到计算机上,但我做不到。据我所知,问题与路由器有关。你能分享一个复制的例子吗?