Selenium WebDriver wire protocol: пример, где "equals" возвращает true для различных идентификаторов элементов?


Я изучаю протокол Selenium WebDriver wire. Я ищу пример ситуации, в которой команда "equals" возвращает true для двух разных идентификаторов элементов. В (кратком) тестировании, которое я делал до сих пор, получение одного и того же элемента двумя различными способами (например, по имени тега и имени класса) возвращало один и тот же идентификатор элемента. Я предполагаю, что это не всегда гарантировано (в противном случае я не вижу необходимости в команде "equals", поскольку вы можете просто сравнить идентификаторы элементов непосредственно), но из документации не ясно, в какой ситуации идентификаторы элементов могут отличаться.

1 2

1 ответ:

Благодаря подсказке @prestomanifesto я нашел соответствующийвопрос Селена #2920 .

Из того, что я понял из обсуждения там, FirefoxDriver был исправлен, чтобы возвращать последовательные идентификаторы, и это был единственный, который этого не делал.

Таким образом, ни с одним из ныне реализованных драйверов невозможно создать ситуацию, в которой команда "equals" возвращает true для двух различных идентификаторов элементов. Это все еще может быть возможно с некоторым будущим водителем, хотя.