gpt4 book ai didi

javascript - 在 Protractor 中使用expect()时遇到问题,想要获取第一个 child 的文本并将其与字符串进行比较

转载 作者:行者123 更新时间:2023-12-02 23:11:32 25 4
gpt4 key购买 nike

我想获取元素的子元素文本并测试它是否等于用户输入字符串。

已尝试下面的代码,这导致了相同的错误消息

await expect(element(by.className('tlid-translation translation').isDisplayed()).to.equal(true)

以及随机添加一些 .finally 或检查 element.all,但这些似乎都没有帮助。

页面:

var CalculatorPage = function() {

var expect = require('chai').expect;

this.get = function() {
browser.waitForAngularEnabled(false);
browser.get('https://translate.google.com/', 50000);
};

this.checkTrans = async(stringg) => {
await expect(element(by.className('tlid-translation translation').get(0).getText()).to.equal(stringg)
}


};

module.exports = CalculatorPage;


步骤:


var chai = require('chai').use(require('chai-as-promised'));
var expect = chai.expect;

var CalculatorSteps = function() {

var TranslatePage = require("../pages/translate_page.js");


this.World = function MyWorld() {
this.page = new TranslatePage();
};

this.When('I see $stringg as translated', async function end(stringg) {
await this.page.checkTrans(stringg)
})

};

module.exports = CalculatorSteps;

错误消息:

AssertionError: expected { Object (browser_, then, ...) } to equal true

最佳答案

具体:

问题出在代码中的括号。另外,避免使用已弃用的方法

更改:

await expect(element(by.className('tlid-translation translation').isDisplayed()).to.equal(true)

await expect(element(by.css('tlid-translation translation:nth-child(1)')).getText()).toBe(stringg);

更改:

await expect(element(by.className('tlid-translation translation').isDisplayed()).to.equal(true)

await expect(element(by.className('tlid-translation translation')).isDisplayed()).toBeTruthy();

一般情况:

  • expect() 需要一个 promise 。大多数 Protractor API 处理的是 promise 它必须处理浏览器的异步性质。制作确保 expect() 得到了 promise
  • element() 需要一个定位器,例如。 by.css('div')。确保那是案件。
  • element(Locator) 上的方法将始终返回一个 Protractor promise 。确保代码以这种方式处理它。
  • 我更喜欢 CSS 选择器来获取子元素而不是使用获取所有元素,然后从该列表中获取一个元素。这样它的性能更高一点,我们不需要 API 来处理。

希望有帮助..

关于javascript - 在 Protractor 中使用expect()时遇到问题,想要获取第一个 child 的文本并将其与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57341265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com