小编Par*_*rma的帖子

如何解决 cy.type() 因针对禁用元素而失败的问题

我通过commands.js下的命令loginByGoogleApi访问我的Gmail帐户,然后获取请求的电子邮件正文并从正文中提取所需的数据,并将其保存在const变量代码中,在我的testFile.cy中输入提取的电子邮件数据(代码) .js。我可以在此之后登录,但 cypress 向我抛出错误cy.type() 失败,因为它针对的是禁用元素。

命令.js

/// <reference types="cypress" 
import { parseString } from "xml2js";
Cypress.Commands.add('loginByGoogleApi', () => {  
  cy.request({
    method: 'POST',
    url: 'https://www.googleapis.com/oauth2/v4/token',
    body: {
      grant_type: 'refresh_token',
      client_id:  Cypress.env('googleClientId'),
      client_secret:  Cypress.env('googleClientSecret'),
      refresh_token:  Cypress.env('googleRefreshToken'),
    },   
  }).then(({ body }) => {
    const { access_token, id_token } = body
    cy.log('Opening emails including code to verify')
    cy.request({
      method: 'GET',
      url: 'https://mail.google.com/mail/feed/atom/verifyCode',
      headers: { Authorization: Bearer ${access_token} },
    }).then(({ body }) => {
      parseString(body, function (err, results) {
        let data = JSON.stringify(results)
        let …
Run Code Online (Sandbox Code Playgroud)

cypress chakra-ui cypress-custom-commands

2
推荐指数
1
解决办法
5776
查看次数