Ошибка вызова метода
Создано: 21 ноября 2024 г.
Создано: 21 ноября 2024 г.
Метод Getyan()
не работает из-за нескольких проблем в вашем коде:
Ошибка в конструкторе TestHubrPage
:
public TestHubrPage(WebDriver driver) { this.driver = this.driver; }
Здесь вы присваиваете this.driver
значение самому себе, а не переданному параметру driver
. Из-за этого поле driver
остаётся null
. Правильное присваивание:
public TestHubrPage(WebDriver driver) { this.driver = driver; }
Вызов метода Getyan()
вне контекста конструктора или метода:
Код:
Yap.Getyan();
Здесь вы вызываете метод Getyan()
вне какого-либо метода, что является синтаксической ошибкой в Java. Вы должны поместить вызов метода в тело конструктора или другого метода класса. Например:
public void testMethod() { Yap.Getyan(); }
Проверка инициализации driver
:
Убедитесь, что driver
передаётся правильно при создании объекта TestHubrPage
. Например:
WebDriver driver = new ChromeDriver(); TestHubrPage testHubrPage = new TestHubrPage(driver);
Проверьте реализацию метода Getyan()
в классе YaPages
:
Убедитесь, что метод Getyan()
правильно реализован в классе YaPages
. Если он использует driver
, убедитесь, что driver
в этом классе корректно инициализирован.
package Tests; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import Locators.Locators; import Pages.HubrPage; import Pages.YaPages; public class TestHubrPage { private WebDriver driver; public TestHubrPage(WebDriver driver) { this.driver = driver; } public void runTest() { Locators Locator = new Locators(); YaPages Yap = new YaPages(driver); // Вызов метода Getyan Yap.Getyan(); } public static void main(String[] args) { // Инициализация WebDriver System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); WebDriver driver = new ChromeDriver(); // Создание объекта TestHubrPage и запуск теста TestHubrPage test = new TestHubrPage(driver); test.runTest(); // Закрытие браузера driver.quit(); } }
Убедитесь, что в классе YaPages
метод Getyan()
:
WebDriver
.Убедитесь, что путь к chromedriver
указан правильно.