#java #android #appium #serenity-bdd
#java #Android #appium #спокойствие-bdd
Вопрос:
У меня есть проект ajava / serenity / appium, и в настоящее время мои возможности заданы в файле свойств serenity. Ниже я хочу выполнить прокрутку, но я получаю ошибку исключения нулевого указателя для моего AndroidDriver. Я не уверен, как исправить исключение нулевого указателя.
public class ScrollingMethods extends PageObject {
AndroidDriver androidDriver;
public void scrollDown() {
int pressX = androidDriver.manage().window().getSize().width / 2;
int bottomY = androidDriver.manage().window().getSize().height * 4/5;
int topY = androidDriver.manage().window().getSize().height / 8;
scroll(pressX, bottomY, pressX, topY);
}
public void scroll(int fromX, int fromY, int toX, int toY) {
TouchAction touchAction = new TouchAction(androidDriver);
touchAction.longPress(fromX, fromY).moveTo(toX, toY).release().perform();
}
}
Комментарии:
1. да, потому что ваш драйвер Android равен нулю…
2. @Pali ха-ха, я понимаю, что это null, но я не уверен, как не сделать его нулевым. Обычно они говорят new AndroidDriver (url, возможности), а затем устанавливают их, но это в моих свойствах serenity. Я не опытный разработчик, поэтому не уверен, что еще я могу сделать, чтобы это исправить.
Ответ №1:
Я хочу выполнить прокрутку, но получаю ошибку исключения нулевого указателя для моего AndroidDriver
Вы получаете NullPointerException
, потому что вы не инициализируете его. Вы ДОЛЖНЫ инициализировать его с теми параметрами, которые вы хотите использовать, как указано далее AndroidDriver documentation
.
Итак, возможно, вы хотите использовать EnvrionmentVariables
, как говорится в этом сообщении, проблему github. Но наверняка вам нужно сделать что-то вроде :
androidDriver = new AndroidDriver(new URL("http://..."), capabilities)
И если вы это сделаете, он должен удалить этот NPE.
Комментарии:
1. но у меня уже есть это свойство, установленное в свойствах serenity, так как мне взять его оттуда, а не снова записывать URL и возможности?
2. Вам нужно сохранить их где-нибудь в вашем приложении, а затем получить их.