JDI - мобильное тестирование - как запустить тестирование объекта страницы?

У меня проблема с использованием jdi и мобильного тестирования. Я попробую создать простой мобильный тест, следуя документации и образцу проекта из Git.

Проект на Java 11, Ubuntu

Проект состоит из:

Заявка:

import com.android.testing.pages.*;
import com.epam.jdi.uitests.mobile.appium.elements.composite.Application;

public class ClockApp extends Application {
    public static AlarmPage alarmPage;
}

Страница:

import com.epam.jdi.uitests.mobile.appium.elements.common.Button;
import com.epam.jdi.uitests.mobile.appium.elements.composite.Section;
import org.openqa.selenium.support.FindBy;

public class AlarmPage extends Section {
    @FindBy(xpath = "//android.widget.ImageView[@content-desc=\"More options\"]")
    public Button dots;
}

TestBase:

import com.epam.jdi.uitests.mobile.testRunner.TestNGBase;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import java.net.URL;
import static com.epam.jdi.uitests.core.settings.JDISettings.driverFactory;
import static com.epam.jdi.uitests.mobile.appium.elements.composite.Application.init;

public abstract class TestBase extends TestNGBase {
private static AppiumDriver<AndroidElement> driver;

@BeforeMethod
public static void setUp() throws Exception {
    init(ClockApp.class);
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setCapability("deviceName", "emulator-5554");
    desiredCapabilities.setCapability("platformVersion", "8.0.0");
    desiredCapabilities.setCapability("appPackage", "com.google.android.deskclock");
    desiredCapabilities.setCapability("appActivity", "com.android.deskclock.DeskClock");
    desiredCapabilities.setCapability("platformName", "android");

    URL remoteUrl = new URL("http://localhost:4723/wd/hub");

    driver = new AndroidDriver(remoteUrl, desiredCapabilities);
}

@AfterMethod
public static void tearDown(){
    driver.quit();
}
}

Тестовое задание:

import org.testng.annotations.Test;
import static com.android.testing.ClockApp.alarmPage;

public class SetAlarmTest extends TestBase{
@Test
public void setAlarm(){
    alarmPage.dots.click();
    }
}

Сбой в инициализации TestNG с NullPointerException, в классе JDISettings - метод initFromProperties() - PropertyReader.fillAction(driverFactory::setRunType, "run.type"), потому что driverFactory имеет значение null. Я что-то пропустил?

0 ответов

Другие вопросы по тегам