Testcafe Hammerhead在innerHTML上具有明显的行为,并带有损坏的代码

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

[尝试在使用dojo js库的页面上使用Testcafe,其分页组件的HTML损坏(在此处输入链接描述),浏览器(Chrome,Firefox和Safari)对其进行处理并根据需要进行了修复,但testcafe-hammerhead则将其不同并破坏关联的组件。

可以使用以下方法来复制:

<html>
    <body>
        <script>

            document.body.innerHTML = '<html>'+
                '<head></head>'+
                '<body>'+
                    '<div dojoattachpoint="paginatorBar">'+
                        '<table style="width:100%">'+
                            '<tbody>'+
                                '<tr>'+
                                    '<td>Jill</td>'+
                                    '<td>Smith</td>'+
                                    '<td>'+
                                        '<div>50</div></div>'+<!--broken code--!>
                                    '</td>'+
                                '</tr>'+
                                '<tr>'+
                                    '<td>Eve</td>'+
                                    '<td>Jackson</td>'+
                                    '<td>94</td>'+
                                '</tr>'+
                            '</tbody>'+
                        '</table>'+
                    '</div>'+
                '</body>'+
            '</html>';

        </script>
    </body>
</html>

浏览器生成:

<html>
    <head></head>
    <body>
        <div dojoattachpoint="paginatorBar">
            <table style="width:100%">
                <tbody>
                    <tr>
                        <td>Jill</td>
                        <td>Smith</td>
                        <td>
                            <div>50</div> <!--fixed code--!>
                        </td>
                    </tr>
                    <tr>
                        <td>Eve</td>
                        <td>Jackson</td>
                        <td>94</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
</html>

和锤头:

<html data-hammerhead-hovered="">
    <head>
        <meta class="charset-hammerhead-shadow-ui" charset="iso-8859-1">
            <script type="text/javascript" class="script-hammerhead-shadow-ui" charset="UTF-8" src="http://localhost:1401/hammerhead.js"></script>
            <script type="text/javascript" class="script-hammerhead-shadow-ui" charset="UTF-8" src="http://localhost:1401/task.js"></script>
        </head>
        <body>
            <div dojoattachpoint="paginatorBar">
                <table style="width:100%">
                    <tbody>
                        <tr>
                            <td>Jill</td>
                            <td>Smith</td>
                            <td>
                                <div>50</div>
                            </td>
                        </tr>
                    </tbody>
                </table>           <!--ends table--!>
            </div>EveJackson94
            <div id="root-hammerhead-shadow-ui" contenteditable="false" class="root-hammerhead-shadow-ui"></div>
        </body>
    </html>

有人知道导致此问题的原因以及如何避免它吗?

我正在使用:

  • Chrome版本81.0.4044.138(64位)
  • 节点v12.16.3
  • testcafe 1.8.4
  • macOS Mojave 10.14.4

提前感谢。

testing automated-tests innerhtml e2e-testing testcafe
1个回答
0
投票

TestCafe无法处理错误的标记。有相似的wrong markup issues

© www.soinside.com 2019 - 2024. All rights reserved.