当前位置: 首页 > 知识库问答 >
问题:

使用令牌登录-柏不重定向

姬实
2023-03-14

Cypress使用POST方法正确记录日志,但在登录后不会重定向到网页。停留在登录页面上。即使我通过“cy.visit('web/')”强制它,它也会停留在登录页面上,“cy.get('button')”会在登录页面上找到按钮,而不是登录后应该显示的页面

commands.js

Cypress.Commands.add('login', (username, password) => {

    cy.request({
        method: 'POST',
        url: '/admin-api/login',
        headers: {
            "Content-Type": "application/json"
        },
        body: {
            username: Cypress.env('correctUsername'),
            password: Cypress.env('correctPassword'),
        },
        retryOnStatusCodeFailure: 463
    })
    .then((resp) => {
        window.localStorage.setItem('jwt', resp.body.user.token)
    })
})
describe('login using token', () => {

    beforeEach(() => {
        cy.login()
    })

    it('visit web', () => {
        cy.visit('web/')
        cy.get('button')
    })
})

共有1个答案

籍辰沛
2023-03-14

我用上面的方法检查了cookie中的令牌,它是活动的——我用Postman在这个网站上使用了它。然而,所描述的问题仍然存在。

Cypress.Commands.add('login', () => {
    Cypress.log({
      name: 'loginViaAuth0'
    })


return cy.request({
    method: 'POST',
            url: '/admin-api/login',
            headers: {
                "Content-Type": "application/json"
            },
            body: {
                username: Cypress.env('correctUsername'),
                password: Cypress.env('correctPassword'),
                disposableToken: 1111,
            },
            retryOnStatusCodeFailure: 463
         })
         .then((resp) => {
            document.cookie = `AuthUser=${resp.body.accessToken}` 
         })
})

测试本身:

describe('login using token/cookie', () => {

        it('should successfully log into our app', () => {
          cy.login()
            .then(() => {
              cy.visit('web')
            })
            debugger
        });
})
 类似资料:
  • 我正在使用laravel 5.4开发一个api 尝试使用API控制器登录时 它给我以下错误: {FatalThrowableError调用未定义的方法Illumate\Auth\TokenGuard::attempt()}

  • 我正在使用python的请求模块尝试登录网页。我打开了一个窗口。session(),然后我得到cookie和csrf令牌,它包含在meta标记中。我使用用户名、密码、一个隐藏的输入字段和meta标记中的csrf令牌来构建有效负载。之后,我使用post方法,传递登录url、cookie、负载和头。但在那之后,我无法访问登录页面后面的页面。我做错了什么? 这是我执行登录时的请求标头: 到目前为止,这是

  • 我想在登录到我的索引页面(index.jsp)后进行重定向,实际上我的登录可以正常工作,但ajax支持缺少重定向。 她是我的登录名。jsp 这是我的登录 我的struts配置文件: 对于DAO部分是: 公共字符串验证(字符串用户名,字符串userpass)抛出SQLException,Exception{ 谢谢你的帮助。

  • 我尝试用angular2前端实现jwt令牌。当我尝试使用Postman接收带有post方法的令牌时,我接收到授权令牌,但在Angular中这样做返回空响应对象。这里是我使用的Angular服务的代码片段。 问题是,当我尝试记录时,令牌是空的,与响应相同。对于代码的后端部分,我遵循了jwt令牌的这个实现。

  • 嗨,我正在创建使用 REST API endpoint与服务器端通信的移动本机应用程序。 我以前有开发本机客户端的经验,但我将简单的令牌(随机生成的字符串)存储在存储用户信息的同一表中的数据库中。所以它就像浏览器中使用的会话,但每个请求的标头中都有令牌,而不是 cookie。 最近我发现了JWT令牌。这似乎是保护私有endpoint的好方法。您可以从移动客户端请求令牌,前提是您通过登录并获得生成的

  • 我试图使用从身份提供者检索到的访问令牌获取cognito身份。有点像这里。这里描述的AWS SDK的这一部分似乎存在问题,因此我正在尝试找到解决方法。 当我运行代码我得到以下错误: 任务结果:nil Error-Error-Domain=com.amazonaws.AWSCognitoIdentityErrorDomain-Code=8“(null)”UserInfo={{uuuuu-type=N