如何在TestCafe中删除样式属性

时间:2019-01-17 08:28:25

标签: javascript reactjs testcafe

如何在TestCafe构建中使用React在客户端删除CSS属性?

当前,我正在为绘制了polylines的客户端工作,但是由于以下样式属性transform: matrix(1.4043, 0, 0, 1.4043, 40.5, 0);可以缩放DOM元素,因此我无法将DOM结果与原始结果进行比较。

我找不到任何解决方案,所以我的问题是:如何删除此样式属性?

谢谢!

1 个答案:

答案 0 :(得分:3)

一种解决方案是使用ClientFunction

const getStyleAttribute = ClientFunction((selector) => {
    const element = selector();
    return element.getAttribute('style');
});

const setStyleAttribute = ClientFunction((selector, styleValue) => {
    const element = selector();
    element.setAttribute('style', styleValue);
});

const field = Selector('your selector');
const styles = await getStyleAttribute(field) || '';
const updatedStyles = 
`${styles} background-color: red; transform: matrix(1.4043, 0, 0, 1.4043, 40.5, 0);`;

await setStyleAttribute(field, updatedStyles);

以上示例添加了转换和背景色。您可以改编此代码以删除样式。

不要忘记在测试文件中导入ClientFunction