.text()方法返回[object object],而不是cypress测试中的文本

.text()方法返回[object object],而不是cypress测试中的文本,cypress,Cypress,const person=cy.get('div.global-user-nav-menu>div>div>div.info-container>div.display-name')。text()//应将文本存储在“person”变量中 我想使用这些“person”变量作为函数参数 SpaceView.assignTo(person)Cypress体系结构使用承诺链,您无法断开该链并从中返回值。。。您必须链接返回值并对其采取行动。它不能像selenium getText()方法那样工作:) 所以

const person=cy.get('div.global-user-nav-menu>div>div>div.info-container>div.display-name')。text()//应将文本存储在“person”变量中

我想使用这些“person”变量作为函数参数


SpaceView.assignTo(person)

Cypress体系结构使用承诺链,您无法断开该链并从中返回值。。。您必须链接返回值并对其采取行动。它不能像selenium getText()方法那样工作:) 所以你下面的陈述是行不通的

const personName = cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).text();
SpaceView.assignTo(personName);
因此,为了使其工作,您必须按照以下方式进行构造

cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).then(element => {
      SpaceView.assignTo(element.text());
    });
(或)


默认情况下,Cypress命令将返回承诺。如果您想将文本分配给变量,请使用官方推荐的方法哇,非常感谢,我非常感谢您的帮助。听说这两种解决方案对您都有帮助,我很高兴。请投票支持这个答案,这样无论是谁在寻找这个答案,它都会传递给其他人。。。干杯我想知道我如何在cypress中使用inthein()?在寻求帮助之前,请先看看cypress必须理解的漂亮文档。。。。cy.get(loginForm)。在(()=>{cy.get(按钮)。单击();})内
    return cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).then(ele => {
      return ele.text()
    }).then(personName => {
      SpaceView.assignTo(personName);
    });