【问题标题】:WebDriverIO : getText(), click() methods are not working - it says they are not functionWebDriverIO:getText()、click() 方法不起作用 - 它说它们不起作用
【发布时间】:2021-05-10 22:19:51
【问题描述】:

主页:

类主页{

get pageHeader() { return $('//h1[contains(text(),"Best")]'); }
get pagesubHeader() { return $('div.banner-text-content>p.sub-text'); }
get supportLink() { return $('//li/span[contains(text(),"Support")]') }

主页元素页面:

const homePage = require("../Pages/homePage")

describe("主页元素句柄", function () { it("验证主页元素", async function () { // 等待 browser.url('https://www.freshworks.com/'); 让文本 =homePage.pageHeader.getText(); 控制台日志(文本);

})

})

错误:

  1. 主页元素句柄验证主页元素 homePage.pageHeader.getText 不是函数

}

module.exports = new homePage();

【问题讨论】:

    标签: webdriver-io


    【解决方案1】:

    您使用异步,所以这告诉我您正在使用 WebdriverIO 异步模式。这意味着,所有的函数大部分都会返回一个 Promise。 因此,正确的做法是您需要等待浏览器/元素功能:

    const pageHeader = await homePage.pageHeader;
    const text = await pageHeader.getText();
    console.log(text);
    

    请记住,$、$$ 以及浏览器或元素的任何功能基本上都是异步模式下的 Promise,所以本质上,您尝试在 Promise 对象上“getText()”或“click()”。

    【讨论】:

    • 感谢您的回复,但我仍然面临同样的问题。如何检查我的 webdriverIO 是否在异步模式下运行。我对 webdriverIO 和 JS 完全陌生
    • 现在我收到一个错误,例如无法读取未定义的属性“isDevTools”
    • 这似乎与随 webdriverio 一起安装的一些插件有关。你安装了这个plugin 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多