赛普拉斯:无法登录赛普拉斯浏览器

时间:2018-05-23 12:32:52

标签: cypress

我试图用赛普拉斯设置Vue应用程序的E2E测试。

我可以使用常规Chrome浏览器登录该应用。但是,Chrome打开的浏览器不允许我登录。通过赛普拉斯自动登录和手动登录都失败了。

我缺少一个设置吗?

我的Vue元素:

<template>
    <div class="d-flex justify-content-center">

            <div class="field is-horizontal">
                <div class="field-label is-normal">
                    <label class="label">Username</label>
                </div>
                <div class="field-body">
                    <div class="field">
                        <div class="control">
                            <input v-model="username" class="input" type="text"
                                   placeholder="Your username">
                        </div>
                    </div>
                </div>
            </div>
            <div class="field is-horizontal">
                <div class="field-label is-normal">
                    <label class="label">Password</label>
                </div>
                <div class="field-body">
                    <div class="field">
                        <div class="control">
                            <input v-model="password" class="input" type="password"
                                   placeholder="Your password">
                        </div>
                    </div>
                </div>
            </div>
            <div class="field is-horizontal">
                <div class="field-label">
                    <!-- Left empty for spacing -->
                </div>
                <div class="field-body">
                    <div class="field">
                        <div class="control text-center">
                            <button v-on:click="login()" class="button is-primary">
                                Login
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

我的测试文件:

describe('Logging in', () => {
    it('Logs in as admin', () => {
        cy.visit('/')
            .get('input[type="text"]')
            .type('Admin')
            .get('input[type="password"]')
            .type('Pass1234')
            .get('button').click()
            .location().should((loc) => {
            expect(loc.pathname).to.eq('/dashboard-main/dashboard');
        })
    })
})

更新:这里有一些建议:https://github.com/cypress-io/cypress/issues/1759#issuecomment-391729559

1 个答案:

答案 0 :(得分:1)

在e2e测试运行期间,您是否看到任何东西?就像赛普拉斯在这些字段中键入内容一样?

除了我不会使用非常通用的定位符外,我还会在.click()停下来,然后使用cy.url()检查新路径