Я объявил драйвер в одном классе и отправил этот драйвер в другой класс в качестве параметров и инициализации драйвера через конструктор. Тем не менее, я получаю NULL исключение для водителя в другом классе. Ниже приведен мой код: < /p>
Стандартный класс, где заявлен Webdriver, и драйвер отправляется в виде аргумента: < /p>
public class standAloneTest {
public static void main(String[] args) {
WebDriverManager.chromedriver().setup();
WebDriver driver= new ChromeDriver();
String productName="ZARA COAT 3";
String country="India";
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
login_Page login_User= new login_Page(driver);
login_User.launch_Application();
login_User.loginApplication("VivekKumar2988@gmail.com","Vivek@123");
Product_Catalogue Product_Items= new Product_Catalogue(driver);
< /code>
product_catalogue Class, где драйвер инициализируется в конструкторе: < /p>
public class Product_Catalogue extends Abstract_Component {
WebDriver driver;
public Product_Catalogue(WebDriver driver)
{
super(driver);
this.driver = driver; // Getting null execption for driver
PageFactory.initElements(driver, this);
}
@FindBy(css = ".mb-3")
List products;
By productsBy = By.cssSelector(".mb-3");
By AddProduct = By.cssSelector(".card-body button:last-of-type");
By toastMessage = By.cssSelector("#toast-container");
WebElement loadUI = driver.findElement(By.cssSelector(".ng-animating"));
< /code>
Журнал ошибок: невозможно вызвать "org.openqa.selenium.webdriver.findelement (org.openqa.selenium.by)", потому что "this.driver" null < /p>
< /blockquote>
Подробнее здесь: https://stackoverflow.com/questions/796 ... and-initia