#selenium-webdriver
#selenium-webdriver
Вопрос:
Мы просто хотим убедиться, что в веб-кодах, реализованных командой разработчиков, каждый элемент имеет ID
значение свойства.
Как я могу проверить? Спасибо!
Комментарии:
1. какой браузер вы используете для тестирования?
Ответ №1:
Протестируйте этот xpath в своем браузере: //*[string(@id)]
Это не только даст вам элементы, которые имеют идентификатор, но и чьи идентификаторы имеют некоторое значение. Возможно, разработчики забыли ввести идентификатор. Затем используйте это //*
, чтобы получить все элементы. Если вам нужны элементы с идентификатором (пустым или заполненным), используйте это //*[@id]
Комментарии:
1. Ваше решение простое и легкое. Спасибо!
2. @Kevin — тогда, пожалуйста, примите этот ответ. Попробуйте использовать мой код в скрипте, который автоматически проверит все для вас.
Ответ №2:
(Предполагая, что вы используете Java) существует метод WebElement#getAttribute()
, с помощью которого вы можете получить значение любого атрибута элемента..
Мы просто хотим убедиться, что в веб-кодах, реализованных командой разработчиков, каждый элемент имеет значение свойства ID. Как я могу проверить?
Сначала вам нужно найти все элементы, а затем внутри цикла вы можете определить, имеет ли каждый элемент атрибут ID
или нет, используя getAttribute("id")
, как показано ниже :-
public boolean isAllElementsHasId()
{
boolean isAllElementsHasId = true;
List<WebElement> allPageElements = driver.findElements(By.cssSelector("*"));
for(WebElement el : allPageElements)
{
if(el.getAttribute("id") == null)
{
isAllElementsHasId = false;
break;
}
}
return isAllElementsHasId
}
Использование :
if(isAllElementsHasId() == true)
{
System.out.println("All elements in the page has an attribute ID");
}