代码之家  ›  专栏  ›  技术社区  ›  er4z0r

属性在某个标记中的顺序是否相关?

  •  2
  • er4z0r  · 技术社区  · 15 年前

    属性在某个标记relevant中的顺序。 具体情况:

    这是一个Selenium测试文件。给一个测试盒

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head profile="http://selenium-ide.openqa.org/profiles/test-case">
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    <link rel="selenium.base" href="http://10.9.10.100"/>
    <title>SQL-Injection</title>
    </head>
    <body>
    <table border="1" cellpadding="1" cellspacing="1">
    <thead>
    <tr><td colspan="3" rowspan="1">SQL-Injection</td></tr>
    </thead><tbody>
    <tr>
        <td>open</td>
        <td>/main.php?page=start.inc</td>
        <td/>
    </tr>
    <tr>
        <td>type</td>
        <td>username</td>
        <td>OR 1=1 #</td>
    </tr>
    <tr>
        <td>type</td>
        <td>password</td>
        <td>OR 1=1 #</td>
    </tr>
    <tr>
        <td>clickAndWait</td>
        <td>loginbutton</td>
        <td/>
    </tr>
    <tr>
        <td>assertTextPresent</td>
        <td>Bei dem Hack-Test dieser Webanwendung geht es darum möglichst viele Schwachstellen zu finden und erfolgreich auszunutzen</td>
        <td/>
    </tr>
    
    </tbody></table>
    </body>
    </html>
    

    兴趣范围如下:

    <link rel="selenium.base" href="http://10.9.10.100"/>
    

    当按上述方式指定时,它将由 fixed version Selenium IDE软件。但是,当我切换这两个参数时:

    <link  href="http://10.9.10.100" rel="selenium.base"/>
    

    Selenium IDE无法正确分析href属性。

    我一直认为属性的顺序并不重要。我错了还是这是一个实现错误?

    1 回复  |  直到 11 年前
        1
  •  4
  •   lornova    15 年前

    在分析XML文件时,属性(通常)按从左到右的顺序放入文档树中(取决于实现)。因此,在现实世界中,订单会以某种方式影响树的拓扑结构,但是消费者应该足够聪明,并且独立于订单提供一致的结果。所以这绝对是一个实现错误。

    顺便说一下,XML规范规定

    属性规范的顺序 在开始标记中不重要