我试图用赛普拉斯设置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
答案 0 :(得分:1)
在e2e测试运行期间,您是否看到任何东西?就像赛普拉斯在这些字段中键入内容一样?
除了我不会使用非常通用的定位符外,我还会在.click()
停下来,然后使用cy.url()
检查新路径