Я создаю свой тест объектной модели первой страницы. Основано на Selenium's test design considerations Я хотел бы проверить, что некоторые элементы найдены, когда объект страницы создается.Динамический доступ к элементам объектов страницы
Существует один, один, проверки, который может и должен быть в пределах объекта страницы, и это, чтобы проверить, что страница, и, возможно, критические элементы на странице, были загружены правильно.
Есть ли способ решить это, не прибегая к отражению?
public class PageObject
{
[FindsBy(How = How.Name, Using = "q")]
private IWebElement q1 { get; set; }
[FindsBy(How = How.Name, Using = "qq")]
private IWebElement q2 { get; set; }
protected IWebDriver webDriver;
public PageObject(IWebDriver webDriver)
{
this.webDriver = webDriver;
PageFactory.InitElements(webDriver, this);
HighPriorityElementsFound();
}
private bool HighPriorityElementsFound()
{
// how to verify all private IWebElements elements here?
}
}
В основном вы заявляете, что я пытаюсь выполнить, но я боюсь, что он не отвечает на вопрос. Я пытаюсь извлечь «какой-то элемент, который уникален только для этой конкретной страницы», динамически вместо жесткого кодирования. Не уверен, что вы подразумеваете под последним предложением. Я вызываю 'HighPriorityElementsFound' из конструктора. Если это метод или нет, это не имеет значения. – filur
Как ваш скрипт сможет идентифицировать уникальный элемент, а не все другие страницы сайта, которые он никогда не посещал? Во второй точке функции предназначены для кода многократного использования. 'HighPriorityElementsFound()' никогда не будет использоваться повторно, поэтому зачем использовать его в функции? Кроме того, он возвращает 'bool', но вы не фиксируете возврат, так зачем беспокоиться о возврате' bool'? – JeffC