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

Tej*_*iya 2 cypress

// should store text in "person" variable
const person = cy.get(' div.global-user-nav-menu > div > div > div > div.info-container > div.display-name').text() 
Run Code Online (Sandbox Code Playgroud)

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

SpaceView.assignTo(person)
Run Code Online (Sandbox Code Playgroud)

Sri*_*odi 6

Cypress 架构采用 Promise 链接,您无法打破该链接并从中返回值...您必须链接返回值并对其采取行动。它不像 selenium getText() 方法那样工作:) 所以你的下面的语句将不起作用。

const personName = cy.get(`div.global-user-nav-menu > div > div > div > div.info-container > div.display-name`).text();
SpaceView.assignTo(personName);
Run Code Online (Sandbox Code Playgroud)

所以你必须按如下方式构建才能使其工作

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

(或者)

    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);
    });
Run Code Online (Sandbox Code Playgroud)