TestCafe - 如何在失败时获取元素的 html 输出

问题描述 投票:0回答:2

当我运行测试时,如果没有一些繁重的工作,我目前无法在 Jenkins 中捕获屏幕截图。我想做的是获取正文的 HTML 输出,以查看发生特定错误时显示的内容。

我已经尝试过获取textContent,这非常接近,但如果可能的话我想获取字符串化的HTML。

await t
    .click(something)
    .wait(1000)
    .click(somethingElse)
    .wait(1000)
    .expect(mySelector.exists)
    .ok(await Selector('body').textContent, { timeout: 25000 }); // if .ok fails it should print out the contents of body

我收到了文本,但想要 HTML。

html testing automated-tests e2e-testing testcafe
2个回答
3
投票

查看选择器自定义属性。有一个如何获取元素的innerHTML 的示例。


0
投票

我找不到接受的答案中提到的示例,但是我确实在这里找到了一个示例

import { Selector } from 'testcafe';

fixture`Selector.addCustomDOMProperties`
    .page`https://devexpress.github.io/testcafe/example/`;

test('Check Label HTML', async t => {
    const label = Selector('label').addCustomDOMProperties({
        innerHTML: el => el.innerHTML,
    });

    await t.expect(label.innerHTML).contains('input type="checkbox" name="remote"');
});
© www.soinside.com 2019 - 2024. All rights reserved.