【问题标题】:Need help creating expect condition on webdriver.io需要帮助在 webdriver.io 上创建期望条件
【发布时间】:2023-02-12 07:29:48
【问题描述】:

我正在测试一个 Web 应用程序,它使用进度条来反映某个冗长过程的状态。

我需要创建一个单击“开始”按钮然后等待进度条达到 75% 的测试。然后测试应单击“停止”。 5% 是通过测试的可接受公差限度。

但我不确定如何创建断言来检查这一点,我已经创建了测试,它在 75% 处停止,但我如何(使用 Mocha 和预期的 wdio 库)验证它是否在 5% 可接受的范围内容忍极限?

这就是我现在所拥有的,它正在工作:

describe('Progress bar challenge', () => {

    before(() => {
        ProgressPage.open();
    });

    it('Should click [start] wait for the bar to reach 75% and click [stop]', async () => {

            await ProgressPage.startBtn.click(); 
            await ProgressPage.progressBar.waitUntil(async function () {
                return (await this.getAttribute('aria-valuenow')) >= '75'
            }, {
                timeout: 50000,
            });
            await ProgressPage.stopBtn.click();
            console.log(await ProgressPage.progressBar.getAttribute('aria-valuenow'));        
    });
    
});

日志通常返回 75 或 76,但我不知道我可以创建哪个断言来通过测试。

【问题讨论】:

    标签: javascript webdriver ui-automation


    【解决方案1】:

    尝试下面的代码,这将有 5% 的公差

    it('Progress bar start wait stop and tollerence', async () => {
        await ProgressPage.open()
        await ProgressPage.startButton.click()
        await ProgressPage.progressBar.waitUntil(async function() {
            const tolerance = (await this.getAttribute('aria-valuenow'))
            return ( tolerance >= '75' && tolerance <= '80' )
        },
        {
            timeout: 50000,
            timeoutmsg:"Failed while waiting for progressBar to reach 75%"
        })
        await ProgressPage.stopButton.click()
    });
    

    【讨论】:

      【解决方案2】:

      不确定我是否遵循正确,但如果你导入 chai

         const { assert } = require('chai')
         const progressValue = await this.getAttribute('aria-valuenow')
      

      然后做

      assert(progressValue >= '75' && progressValue <= '80')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-04
        • 2021-09-21
        • 2020-03-06
        • 1970-01-01
        • 1970-01-01
        • 2017-08-31
        • 2011-08-02
        • 2013-12-08
        相关资源
        最近更新 更多