Невозможно вызвать «Object.getClass()», поскольку «объект» имеет значение null – Java16JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно вызвать «Object.getClass()», поскольку «объект» имеет значение null – Java16

Сообщение Anonymous »


Я пытаюсь настроить проект Appium в учебных целях. Я создал базовую структуру фреймворка, но выдает следующую ошибку:

net.serenitybdd.core.Exceptions.StepInitialisationException: не удалось создать библиотеку шагов для TestAppPage: невозможно вызвать «Object.getClass()», поскольку «объект» имеет значение null

Ниже приведены некоторые из моих классов проектов:

TestAppPage.java:

страницы пакета; импортировать io.appium.java_client.pagefactory.AndroidFindBy; импортировать io.appium.java_client.pagefactory.iOSXCUITFindBy; импортировать net.thucydides.core.annotations.Step; импортировать org.openqa.selenium.WebElement; публичный класс TestAppPage расширяет AppiumBaseScreen { @AndroidFindBy(id = "IntegerA") @iOSXCUITFindBy(доступность = "IntegerA") частный WebElement txtFirstNumberField; @AndroidFindBy(id = "IntegerB") @iOSXCUITFindBy(доступность = "IntegerB") частный WebElement txtSecondNumberField; @AndroidFindBy(id = "ComputeSumButton") @iOSXCUITFindBy(доступность = «ComputeSumButton») частный WebElement btnComputeSum; @AndroidFindBy(id = «Ответ») @iOSXCUITFindBy(доступность = «Ответ») частный WebElement lblSumResults; @Step("Введите первое число") public void enterFirstNumber(int number) { setText(String.valueOf(число), txtFirstNumberField); } @Step("Введите второе число") public void enterSecondNumber(int number) { setText(String.valueOf(число), txtSecondNumberField); } @Step("Нажмите кнопку суммы") общественная недействительность pressSumButton() { btnComputeSum.click(); } @Step("Вернуть сумму чисел") публичная строка getSumOfNumbers() { вернуть lblSumResults.getText(); } } AppiumBaseScreen.java:

страницы пакета; импортировать io.appium.java_client.pagefactory.AppiumFieldDecorator; импортировать org.openqa.selenium.WebElement; импортировать org.openqa.selenium.interactions.Actions; импортировать org.openqa.selenium.support.PageFactory; импортировать статический драйвер.DriverBase.getAppiumDriver; общественный класс AppiumBaseScreen { общественный AppiumBaseScreen() { PageFactory.initElements(новый AppiumFieldDecorator(getAppiumDriver()), это); } protected void setText (текст String, элемент WebElement) { клик (элемент); элемент.очистить(); element.sendKeys(текст); } protected void click (элемент WebElement) { moveFocusOnElement (элемент); элемент.клик(); } protected void moveFocusOnElement (элемент WebElement) { новые действия (getAppiumDriver()).moveToElement(element).perform(); } } pom.xml:

4.0.0 org.appiumpractice AppiumPractice 1.0-SNAPSHOT 16 16 3.2.5 3.2.5 7.3.3 net.serenity-bdd.maven.plugins serenity-maven-плагин ${serenity.version отчеты о спокойствии тестирование после интеграции агрегат net.serenity-bdd безмятежность-огурец ${serenity.version юнит junit 4.13.2 org.jeasy easy-random-core 5.0.0 org.apache.poi poi-ooxml 5.2.2 org.apache.logging.log4j log4j-core 2.17.2 com.googlecode.json-simple json-simple 1.1.1 com.github.javafaker javafaker 1.0.2 DriverBase.java:

драйвер пакета; импортировать io.appium.java_client.AppiumDriver; импортировать io.appium.java_client.ios.IOSDriver; импортировать io.appium.java_client.ios.options.XCUITestOptions; импортировать io.appium.java_client.safari.options.SafariOptions; импортировать java.net.URL; общественный класс DriverBase { частный статический драйвер AppiumDriver; public static void InitializeDriver(URL appiumURL, возможности XCUITestOptions) { initIOSDriver(appiumURL, возможности); } public static void InitializeDriver(URL appiumURL, возможности SafariOptions) { initIOSDriver(appiumURL, возможности); } общественный статический AppiumDriver getAppiumDriver() { возвратный водитель; } Private static void initIOSDriver(URL appiumURL, возможности XCUITestOptions) { драйвер = новый IOSDriver (appiumURL, возможности); } Private static void initIOSDriver(URL appiumURL, возможности SafariOptions) { драйвер = новый IOSDriver (appiumURL, возможности); } public static void closeDriver() { драйвер.закрыть(); драйвер.выйти(); } } Я получаю указанную выше ошибку, когда пытаюсь взаимодействовать с элементом с помощью фабрики страниц:

element.sendKeys(text); Все работает нормально, если я использую следующий код
driver.findElement(element).sendKeys(userName);
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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