testing - 从 Testcafe 控制 vue 导航

标签 testing vue.js vuejs2 e2e-testing testcafe

为了测试 Vue2,我使用 testcafe . 运行测试的命令

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);
});

我希望在 .click(logiIn) 站点之后路由到 /#/projects,但是没有任何反应 我加了测试

await t.typeText(userSelector, 'manager')
        .typeText(passSelector, 'manager')
        .click(logiIn)
        .navigateTo(`http://localhost:${devServer.port}/#/projects`);

再次没有结果。如果我将 .page 设置为 /#/projects 它将被重新路由到登录。

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


只有在登录后单击我们有 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);
};

关于testing - 从 Testcafe 控制 vue 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44890538/

相关文章:

javascript - 为什么未分配的 Vue 实例不会被垃圾回收?

javascript - 过渡组动画在添加第三个元素时改变行为

javascript - Vue.js 直接在模板中的 v-for 中引用存储的不好做法?

c# - 人工智能测试框架

java - 在单元测试中反射(reflection)以检查代码覆盖率

css - Bootstrap 样式未正确应用于应用程序中的所有元素

node.js - 模块构建失败: Error: read ECONNRESET

javascript - 使用 vue-router 将查询绑定(bind)到 props

java - 为什么 Spring @Qualifier 不适用于 Spock 和 Spring Boot

c++ - 如何在 Google Test 中为一个夹具运行多个测试用例?