Каждый раз, когда я использую driver.findElement(By.anything("")).getText();
, я получаю NullPointerException
. На андроид тестирование реального устройства.
- Аппиум 1.8.1
- Samsung S8
- ChromeDriver 2.38
- ChromeBrowser Последний
Ниже приведен код из моей тестовой базы для инициализации драйвера, может быть там проблема? Недостающая часть кода предназначена для инициализации Driver
.
if (driver == null) {
switch (prop.getProperty("browser")) {
case "chrome":
System.setProperty("webdriver.chrome.driver", prop.getProperty("chrome.driver.path"));
driver = new ChromeDriver();
break;
default:
System.out.println("Wrong driver was chosen! Plsease choose the driver.");
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
return driver;
}
public static AndroidDriver<MobileElement> initializeMobileDriver() {
if (Mdriver == null) {
switch (prop.getProperty("MobileBrowser")) {
case "android":
capabilities = DesiredCapabilities.android();
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, BrowserType.CHROME);
capabilities.setCapability("autoGrantPermissions", "true");
capabilities.setCapability(MobileCapabilityType.SUPPORTS_FINDING_BY_CSS, true);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, prop.getProperty("DeviceName"));
capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION, prop.getProperty("AppiumVersion"));
capabilities.setCapability(MobileCapabilityType.PLATFORM, Platform.ANDROID);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, prop.getProperty("PlatformName"));
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, prop.getProperty("PlatformVersion"));
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, prop.getProperty("DeviceName"));
capabilities.setCapability("autoAcceptAlerts", "true");
try {
Mdriver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
driver = Mdriver;
} catch (Exception e) {
System.out.println(" error is " + e.getMessage());
}
break;
default:
System.out.println("Wrong driver was chosen! Plsease choose the driver.");
}
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return Mdriver;
}
Можно использовать любой код, простой код, и он возвращает ноль.
@ Test
public static void SimpleGetTextTest () {
driver.get("https://google.com")
driver.findElement(By.name("q")).sendKeys("Java"+Keys.ENTER);
driver.findElement(By.xpath("//div[@class = 'MUxGbd']")).getText();
Возвращает NullPointerException