Драйвер selenium webdriver имеет значение nullJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Драйвер selenium webdriver имеет значение null

Сообщение Anonymous »

У меня есть несколько файлов страниц:
страница входа

Код: Выделить всё

package pageFactory;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class userLoginPage {
private WebDriver driver; // Declare a class-level WebDriver variable

// Constructor to initialize the WebDriver instance
public userLoginPage(WebDriver driver) {
this.driver = driver;
}
public void inputUserFirstName(String userFirstName) {
WebElement userFName = driver.findElement(By.id("basic_firstName"));
userFName.sendKeys(userFirstName);
}
Страница местоположения, та же структура

...

Страница расписания, та же структура

Код: Выделить всё

package pageFactory;

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class userSchedulingPage {
private WebDriver driver; // Declare a class-level WebDriver variable

// Constructor to initialize the WebDriver instance
public userSchedulingPage(WebDriver driver) {
this.driver = driver;
}

public boolean varifyLoactionTab(String locationStatus) {
WebElement locationStep = driver.findElement(By.xpath("//div[@class='booking-steps']/div[3]"));
String locationClassName = locationStep.getAttribute("class");

if(locationClassName == locationStatus) {
return true;
}else {
return false;
}

}
класс определения шага

Код: Выделить всё

import pageFactory.userLoginPage; // Importing the page object
import pageFactory.userReviewPage;
import pageFactory.userServicePage;
import pageFactory.userConfirmPage;
import pageFactory.userLocationPage;
import pageFactory.userSchedulingPage;

public class userBookOneService {
public static WebDriver driver;
private userLoginPage userLogin; // Declare the loginPage object
private userLocationPage userLocation;
private userServicePage userService;

@Before
public void setup() throws Exception{
// You can use either Firefox or Chrome as needed
System.setProperty("webdriver.chrome.driver", "path\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().window().maximize();
}

@Given("^I login as a new user$")
public void navigate_to_admin_web_page() {
driver.get("https://link");

// Initialize the loginPage object
userLogin = new userLoginPage(driver);
.......
}

@When("^select location and confirm$")
public void select_location_and_confirm() {
userLocation = new userLocationPage(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
......
}

@When("^select service \"([^\"]*)\" and confirm$")
public void select_service_one_and_confirm(String preferService) {
userService = new userServicePage(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
............
}
@When("^select date \"([^\"]*)\" and time \"([^\"]*)\" then confirm$")
public void select_date_and_time_then_confirm(String preferDate, String preferTime) {

userSchedule = new userSchedulingPage(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));

userSchedule.selectDate(preferDate);
........}
На первых нескольких страницах все работает хорошо, но на странице расписания появляется ошибка «this.driver» имеет значение null».
Сообщение об ошибке:
actions.userBookOneService.select_date_and_time_then_confirm(java.lang.String,java.lang.String)[0m
[31mjava.lang.NullPointerException: невозможно вызвать " org.openqa.selenium.WebDriver.findElements(org.openqa.selenium.By)», потому что «this.driver» имеет значение null
в pageFactory.userSchedulingPage.(userSchedulingPage.java:49)
в действиях. userBookOneService.select_date_and_time_then_confirm(userBookOneService.java:90)
at ✽.выберите дату «2024-04-30» и время «09:00», затем подтвердите (file:///C:/Users/src/test /resources/features/UserBookOneService.feature:7)
Структура страницы расписания такая же, как и на других страницах, не знаю, почему возникла проблема.
Как исправить эта проблема?

Подробнее здесь: https://stackoverflow.com/questions/783 ... er-is-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»