Size: a a a

2020 March 13

СС

Сказочный Сникерс... in Rude QA
Ненене
источник

СС

Сказочный Сникерс... in Rude QA
Это какая то срань
источник

MK

Mem Kekovich in Rude QA
лан, буду на арх комитете нашем говорить про это
источник

ЖR

Жора Rusanov in Rude QA
Mem Kekovich
так я хз как верно жи.
я могу описать страницы отдельно, но если есть переход со страницы по линку на другие - мой метод вернет экземпляр тех страниц уже
А если я в одном тесте с одной страницы перейду, а потом с другой локаторы переинициализируются?
источник

MK

Mem Kekovich in Rude QA
Жора Rusanov
А если я в одном тесте с одной страницы перейду, а потом с другой локаторы переинициализируются?
чо блять
источник

MK

Mem Kekovich in Rude QA
сами переменные?
источник

ЖR

Жора Rusanov in Rude QA
Mem Kekovich
сами переменные?
да, на тех экземплярах страницы, которые ты создал внутри базовой.
Вот кейс.
Перешел с одной страницы туда и кликнул кнопку
...
Перешел с другой страницы туда кликнул ту же кнопку
источник

MK

Mem Kekovich in Rude QA
Жора Rusanov
да, на тех экземплярах страницы, которые ты создал внутри базовой.
Вот кейс.
Перешел с одной страницы туда и кликнул кнопку
...
Перешел с другой страницы туда кликнул ту же кнопку
так чоб в константы не закинуть их?
они прочитаются в память на старте
источник

СС

Сказочный Сникерс... in Rude QA
Mem Kekovich
лан, буду на арх комитете нашем говорить про это
У нас как раз следующая лекция про пейдж обжект
источник

Н

Нурсултан in Rude QA
Mem Kekovich
слышьте селениумоводы
объясните как правильно в этих ваших пейдж обджект паттернах композицию делать или наследование
я к чему
вот есть страница, у нее есть боковое меню, ну или может появиться внутреннее окно общее для всего сайта
делаем класс этой страницы, в полях/пропертях инициализируем при создании объекта страницы этой боковое меню и попапчик.
дальше делаем геттеры на эти страницы или паблик переменной хуярим?
а что если есть остоебавший уже BasePage, в котором инициализируются ВСЕ базовые страницы сайта (которые доступны с любой другой страницы) - мы его чо наследуем?
в бейз пейдж у тебя лежит внезапно чисто бейд пейдж и методы для все страниц. типа опен, опен_виз и прочее
источник

Н

Нурсултан in Rude QA
боковое меню делаешь отдельным блоком (т.н. пейдж элементс)
источник

Н

Нурсултан in Rude QA
этот блок импортишь во все наследники от твоего бейз_пейджа
источник

MK

Mem Kekovich in Rude QA
Нурсултан
боковое меню делаешь отдельным блоком (т.н. пейдж элементс)
ну типа в переменные любой страницы, где он доступен?
источник

Н

Нурсултан in Rude QA
ну не переменные, что значит переменные, не понял тебя. ты бейз пейдж как описал, как класс ведь? ну вот у твоего класса внутри будут еще классы (читай - микространички)
источник

ЖR

Жора Rusanov in Rude QA
Mem Kekovich
так чоб в константы не закинуть их?
они прочитаются в память на старте
я думаю, что ты получишь StaleElementReferenceException
источник

MK

Mem Kekovich in Rude QA
Жора Rusanov
я думаю, что ты получишь StaleElementReferenceException
если локатор константный - причем тут эта ошибка?
источник

Н

Нурсултан in Rude QA
типа
class Page:
  def open(self):
      ....

class AuthPage(Page):
   ...

class SideMenuTemplate:
   login_field = 'someting'  # имлементация общих локаторов блока

class AnotherPage(Page):
  class SideMenu(SideMenuTemplate):
      ...
источник

ЖR

Жора Rusanov in Rude QA
Mem Kekovich
если локатор константный - причем тут эта ошибка?
Ты ее найдешь на пейдже и сохранишь веб элемент, потом перейдешь на другую, вернешься и тот веб элемент на новой странице будет не найден, надо снова поиск делать
источник

Н

Нурсултан in Rude QA
Mem Kekovich
class BasePage {
public PageA pageA = new PageA
public PageB pageB = new PageB
}

class PageA {
void lol() {
//code
 }
}

class PageB {
void arbidol() {
//code
 }
}

class SomeOtherPage extends BasePage {
public SomeAvailablePageFromThisPage kek = new SomeAvailablePageFromThisPage
public PopUp popup = new PopUp

//some code stuff methods with this page and with SomeAvailablePageFromThisPage/PopUp
}

class Test {
void method() {
val someOtherPage = new SomeOtherPage
someOtherPage.method()
someOtherPage.kek.kekMethod()
someOtherPage.popup.popupMethod
someOtherPage.pageA.lol()
someOtherPage.pageB.arbidol()
}
не понимаю в жавистком, вот это — SomeAvailablePageFromThisPage — это поле (переменная) страницы? нахуя?
источник

Н

Нурсултан in Rude QA
сделай внутри еще класс
источник