【问题标题】:Unit testing: getText is not a function单元测试:getText 不是函数
【发布时间】:2019-08-18 03:55:16
【问题描述】:

我是单元测试的新手,我正在尝试选择一个 ID 来选择其文本并检查它是否等于“收件箱”。我得到了一个

“用户访问快速添加任务以空白任务开始”中的类型错误 elem.getText 不是函数

我不明白为什么。 测试源码here

describe('User visits Quick Add Task', () => {
    it('starts with a blank task', () => {
        browser.url('http://localhost:8080/');

        const elem = $('#inbox-clickable');
        console.log(elem.getText());

        assert.equal(elem.getText(), 'Inbox');

    })
});

【问题讨论】:

  • 您好,您是否尝试在browser.url 之后添加wait?只是想确保elem 有价值。您还可以查看 WDIO 日志以查看 $('#inbox-clickable') 何时返回元素。
  • @NaveenThiyagarajan:我意识到我应该粘贴我的终端输出:pastebin.com/FgbxWYP3
  • 嗨..也许我们可以一步一步来。您能否通过在browser.url 之后立即添加硬暂停来验证。
  • 嘿,根据日志,我感觉命令正在以异步方式运行。您能否确认是否为您的测试开启了同步功能?
  • 我很确定同步已打开,因为我已按照网站上的配置说明进行操作。虽然我似乎无法确认。我在“wdio.conf.js”中寻找过它,但那里什么也没有。我在哪里可以获得这些信息?

标签: mocha.js chai webdriver-io


【解决方案1】:

对我来说,解决一个非常相似的问题的方法是将缺少的 @wdio/sync 包添加到我的 package.json

我之前已经将sync: true, 添加到我的wdio.conf.js 并从我的测试代码中删除所有asyncawait

【讨论】:

    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    相关资源
    最近更新 更多