Я новичок в Selenium и пытаюсь понять различные области его. Я столкнулся с ситуацией, когда у меня есть 3 класса в пространстве имен Automate_Dynamics365.
Класс POM содержит все элементы на странице, которые объявлены как общедоступные статические IWebElement txtusr = driver.FindElement (By.XPath ("xxxxxx"));
Класс Демонстрация - это место, где у меня есть реальные тестовые случаи (я использую атрибуты инфраструктуры NUnit, такие как SetUp, Teardown, Test)
Class Methods_Factory содержит несколько методов, которые используют POM webelements класса.
Приведенная ниже логика не работает, поскольку я получаю сообщение об ошибке во время выполнения. [Это только пример]
Class POM
{
public static IWebElement txtusr = driver.FindElement(By.XPath("xxxxxx”));
}
/////////////////////////////////////////////// ////////////////////////////////////////////////// //
Class Methods_Factory
{
Public static void Login()
{
POM.txtusr.sendkeys(“YYYYY”);
}
}
/////////////////////////////////////////////// //////////////////////////////////////////
Class Demo
{
[Test]
Public void ex()
{
Methods_Factory.Login();
}
}
Ошибка: Снимок экрана исключения
/////////////////////////////////////////////// ////////////////////////////////
Работает приведенная ниже логика
Class Methods_Factory
{
Public static void Login()
{
driver.FindElement(By.XPath("xxxxxx”)).sendkeys(“YYYYY”);
}
}
/////////////////////////////////////////////// ////////////////////////////////
Class Demo
{
[Test]
Public void ex()
{
Methods_Factory.Login();
}
}
Пожалуйста, помогите мне понять, как справиться с этой ситуацией.
Все, что я пытаюсь сделать, - это сохранить все элементы страницы в одном классе, методы в другом классе, которые будут использовать Iwebelements из предыдущего класса.
Заранее спасибо.