如何判断当前是否正在播放html视频

时间:2018-06-27 15:47:55

标签: testcafe

我正在尝试测试当前是否正在播放html视频,但似乎无法弄清楚如何获得currentTime。我一直在尝试类似的事情:

async videoIsPlaying(indexOfVideo = 0) {
    return ClientFunction(() => {
        const video = document.getElementsByTagName('video')[indexOfVideo];
        return video.currentTime > 0;
    });
}

但是我的期望:

await t.expect(await playerPage.videoIsPlaying()).eql(true);

返回:

AssertionError: expected [Function: __$$clientFunction$$] to deeply equal true

我在做什么错?另外,我使用.eql()是因为.ok()对于任何结果都返回真实值。

1 个答案:

答案 0 :(得分:3)

Ahhh ...只需触发该功能,并因此传入索引...

async videoIsPlaying(indexOfVideo = 0) {
    return await ClientFunction((indexOfVideo) => {
        const video = document.getElementsByTagName('video')[indexOfVideo];
        return video.currentTime > 0;
    })(indexOfVideo);
}

仅供参考,此函数位于页面对象中