Перейти к содержимому

Фотография

Использование xml для создания map of elements on the page и класса Pa


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Vedzmak

Vedzmak

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Николай

Отправлено 28 августа 2012 - 09:11

Появилася идея хранить все локаторы страниц в XML файлах, своего рода map of the page, для того что бы вносить изменения не лазя в код. Но тогда возникает вопрос, как при этом можно воспользоваться PageFactory.

На сколько я понимаю PageFactory инициализирует все элементы которые обьявлены на странице, для этого я использовал аннотации @FindBy

Получается

XML

<Страница>
                 <Кнопки>
                            <submit button>
                                              <name></name>
                                              <identificator></identificator>
                                              <value></value>
                            </submit button>
                 </Кнопки>
</Страница>

И класс этой страницы
public class Page
private WebElement submitButton;

Далее тест класс где будет вызываться PageFacory
Page page = PageFactory.initElements(driver, Page.class)
Собственно вопрос!!!
Каким образом можно связать XML с Web elementom что бы Page factory инициализировала элементы так же как и @FindBy ?
  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 29 августа 2012 - 08:31

Появилася идея хранить все локаторы страниц в XML файлах, своего рода map of the page, для того что бы вносить изменения не лазя в код. Но тогда возникает вопрос, как при этом можно воспользоваться PageFactory.

На сколько я понимаю PageFactory инициализирует все элементы которые обьявлены на странице, для этого я использовал аннотации @FindBy

Получается

XML

<Страница>
                 <Кнопки>
                            <submit button>
                                              <name></name>
                                              <identificator></identificator>
                                              <value></value>
                            </submit button>
                 </Кнопки>
</Страница>

И класс этой страницы
public class Page
private WebElement submitButton;

Далее тест класс где будет вызываться PageFacory
Page page = PageFactory.initElements(driver, Page.class)
Собственно вопрос!!!
Каким образом можно связать XML с Web elementom что бы Page factory инициализировала элементы так же как и @FindBy ?


А добавить к классу аннотацию, а-ля @Map(file = "my.xml") и переработать PageFactory, чтобы выполнялось чтение указанного файла нельзя?
Можно также расширить аннотацию @FindBy с добавление того же атрибута fileMap, если объекты страницы прописываются не в одной карте
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 29 августа 2012 - 09:39

Проголосуйте за issue 3567, чем больше голосов, тем быстрее мы это реализуем :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных