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

Фотография

Создания списка объектов


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

#1 Abgrund

Abgrund

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

  • Members
  • Pip
  • 2 сообщений

Отправлено 26 августа 2011 - 07:15

Здравствуйте.
Есть обычный виндовый калькулятор.
Необходимо протестировать, что при переключении из Standard в Scientific mode появляются элементы, которых нет в дефолтном режиме.
Для этого, как я понимаю, необходимо создать два списка контролов - для каждого режима - и в цикле проверить существование каждого элемента соответствующего режима.

Я пробовала создать ARRAY [] OF ANYTYPE ScientModeElements = {...}
[ ] Calculator.View.Hex
[ ] Calculator.View.Decimal
Но тогда все элементы списка воспринимаются не как объекты калькулятора, а как переменные.

Вопрос: Как создать такой список элементов? Какой тип списка должен быть? Какого типа должна быть переменная, чтобы назначить ей объект?
Что я делаю не так и что все таки нужно мне сделать?
Спасибо.
  • 0

#2 Skuayer

Skuayer

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Жуков Анатолий Викторович
  • Город:Санкт-Петербург

Отправлено 28 августа 2011 - 19:03

попробуйте так:
[-] LIST OF ANYTYPE  newList = { ...}
		[ ] Calculator.Cos
	[ ] print(newList[1].isEnabled())

еще можно взять список дочерних элемента окна GetChildren(), или вобще можно сравнить с эталонным скриншотом(сделав его перед тестом)
  • 0

#3 Abgrund

Abgrund

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

  • Members
  • Pip
  • 2 сообщений

Отправлено 28 августа 2011 - 20:37

спасибо. я уже нашла выход :)
создала два списка элементов методом GetContents() - 1. Стандартного режима, 2. Инженерного режима.
и проверила, каких элементов из списка Инженерного режима нет в списке Стандартного режима,
а разницу добавила в третий список.
получилось как-то так:

[-] public LIST OF STRING StandardScientificSwitch ()
[ ] wMainWindow.SetActive()
[ ] lsCalcStandard=wMainWindow.GetContents()
[ ] wMainWindow.SetActive()
[ ] wMainWindow.View.Scientific.Pick()
[ ] lsCalcScientific=wMainWindow.GetContents()
[-] for each sItem in lsCalcScientific
[-] if (ListFind(lsCalcStandard,sItem)==0)
[ ] ListAppend(lsDifference,sItem)
[ ] wMainWindow.SetActive()
[ ] wMainWindow.View.Standard.Pick()
[ ] return lsDifference


  • 0


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

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