Я пытаюсь узнать, есть ли способ передать переменную из одного объекта страницы в другой? Я использую инфраструктуру Serenity BDD для моего проекта java. На одной странице я создаю и называю элемент, а затем я go перехожу на другую страницу, где я пытаюсь найти этот элемент, например, в таблице. Я сталкиваюсь с проблемой, когда переменная, которую я вызываю на второй странице: null .
Каждая страница имеет свой собственный класс страницы, и это пример кода:
public class Page1 extends PageObject{
String itemName;
private String savedItemName;
public String getSavedItemName(){
return savedItemName;
}
public String createItemAndNameIt(){
//some action to create an item
//some action to save the item with a given name
//assigned from itemName which is fed from environment variable
savedItemName = itemName;
return itemName;
}
}
Следующий шаг - мой код переходит на следующую страницу и вызывает переменную saveItemName .
public class Page2 extends PageObject{
Page1 page1Steps = New Page1();
String recoveredItemName;
public void searchForItem{
//perform some action to get a list of items
//calling a function that searches page for item
//which accepts element to search and string to search for
searchForElement(webElement,page1Steps.getSavedItemName());
}
}
Когда я вызываю page1Steps.getSavedItemName () , который возвращает ноль . Я подозреваю, что виновником может быть веб-драйвер при переключении между страницами, значение, которое было сохранено на предыдущей странице, не доступно для новой страницы? Ищите любые советы о том, как сделать это успешно.