javascript - 柏树拦截
问题描述
我是自动化新手,并且在柏树拦截方法中遇到问题。我必须实现以下目标:
1- 访问:https : //opensource-demo.orangehrmlive.com 2- 输入登录凭据 3- 通过拦截方法单击 l0gin 按钮“我必须验证输入的用户名”。以下是我的代码
describe("cypressAssignment", ()=>{
it('Login a user and validate his name via intercept', ()=>{
cy.intercept('POST', '/auth/login', (req) => {
expect(req.body).to.include('Admin')
}).as('username')
cy.visit('https://opensource-demo.orangehrmlive.com')
cy.get('form').within(($form)=>{
cy.get('#divUsername').type('Admin')
cy.get('#divPassword').type('admin123')
cy.get('#btnLogin').click()
})
cy.wait('@username').its('response.body').should('to.have.property', 'name').and('include', 'Admin')
cy.url().should('include','dashboard')
})
解决方案
我会去做这样的事情。)根据评论部分中的其他信息进行了更新。)
it('SO Answer', () => {
cy
.visit('/');
cy
.intercept('POST', '**/auth/validateCredentials')
.as('loginRoute');
cy
.get('#txtUsername')
.type('Admin');
cy
.get('#txtPassword')
.type('admin123');
cy
.get('#btnLogin')
.click();
cy
.wait('@loginRoute')
.its('request.body')
.should('include', 'txtUsername=Admin');
});
要在 Test Runner 中查看整个测试用例:
该应用程序在服务器端呈现 HTML,因此对登录操作的响应是 302 重定向/index.php/dashboard
并在响应中发送完整的 HTML,因此在这种情况下您无法检查响应中的任何用户名。
推荐阅读
- python - 如何在应用于数据框的函数中使用行索引和单元格值?
- haskell - Servant Quickcheck - 您如何查看导致测试失败的路由?
- assembly - 使用 AARCH64 对内存中的数据进行排序?
- python - 两个日期之间的 DateTime 计算,输出返回“1 天”?这是什么?
- angular - Angular 单元测试 - 模拟 REST 服务调用
- python - 使用 pyqt5 gui 创建一个 exe 文件
- c# - 在 C# 中对内部类进行单元测试时遇到问题
- odoo - 在 Odoo 中添加联系地址
- python - 如何使用 tweepy 搜索趋势?
- c++ - 矩阵的 MPI_Allreduce() 不包含所有值