首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypress:>无法在运行测试之外调用cy.get()

Cypress:>无法在运行测试之外调用cy.get()
EN

Stack Overflow用户
提问于 2022-04-26 08:39:16
回答 1查看 412关注 0票数 1

当我运行一个测试文件时,我会得到这个错误。测试文件使用在页面对象文件中声明的方法,请告诉我如何解决这个问题。

错误消息

页面对象代码

代码语言:javascript
复制
cy.get('.more-less-container').then(dropdown => {
  if (dropdown.find('.name').contains('More')) {
    cy.get('more-less-container').click();
  } else {
    console.log('folders are in expanded state');
  }
});

class Folders {

  Archive() {
    dropdown();
    cy.get('.category-content')
      .find('[title="Archive"]')
      .click()
      .get('.folder-details')
      .should('contain.text', 'Archive');
  }

  Trash() {
    dropdown();
    cy.get('.category-content')
      .find('[title="Trash"]')
      .click()
      .get('.folder-details')
      .should('contain.text', 'Trash');
  }

测试代码

代码语言:javascript
复制
/// <reference types="cypress" />

import { openFolder } from '../support/page-objects/sidebar/drafts';

describe('Verify mobile app download link redirections', () => {
  before(() => {
    cy.login();
  });
});

it('Needs to open the drafts folder', () => {
  openFolder.Drafts();
  cy.get('.modal-close').click();
});

不知道我在这里错过了什么。

EN

回答 1

Stack Overflow用户

发布于 2022-04-26 12:51:08

正如我所看到的,"Page“文件中的cy.get(...)命令(第1行)不是类的一部分,一旦打开(ran),就会立即执行它,因为这就是这个支持文件应该如何工作的方式,它会立即加载并执行(这意味着在任何测试实际启动之前)。因此,解决方案是将该命令作为Folders类的一部分,作为实用程序函数,稍后您将在测试期间显式调用该命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72010872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档