Является ли порядок атрибутов в определенном теге релевантным? - PullRequest
2 голосов
/ 14 июня 2010

Порядок атрибутов в определенном теге. Особый случай:

Это из тестового файла селена. Данный тест

<?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"/>

Если указано выше, оно будет правильно проанализировано фиксированной версией программного обеспечения Selenium IDE. Однако, когда я переключаю два аргумента:

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

Selenium IDE не сможет правильно проанализировать атрибут href.

Я всегда думал, что порядок атрибутов не имеет значения. Я не прав или это ошибка реализации?

1 Ответ

4 голосов
/ 14 июня 2010

Когда вы анализируете файл XML, атрибуты (обычно) помещаются в дерево документа в порядке слева направо (в зависимости от реализации).Таким образом, в реальном мире порядок так или иначе влияет на топологию дерева, однако потребитель должен быть достаточно умным и обеспечивать согласованные результаты независимо от порядка.Так что это определенно ошибка реализации.

Кстати, спецификация XML гласит, что

порядок спецификаций атрибутов в начальном теге не имеет значения

...