Как проверить наличие Checkbox-а
#1
Отправлено 24 января 2012 - 08:05
На формах приложения встречаются "флажки":
Безымянный.png 1,13К 23 Количество загрузок:
ТС их не воспринимает как Checkbox-ы - для него эти элементы относятся к классу V8FormElement, как и например поле для ввода:
поле дата.PNG 900байт 18 Количество загрузок:
При нажатии на надпись возле "флажка" его можно снять или установить.
Может, есть какой-нибудь способ проверить, изначально снят этот "флажок" или установлен?
#2
Отправлено 24 января 2012 - 08:21
может есть свойство State ?
#4
Отправлено 24 января 2012 - 09:50
#5
Отправлено 24 января 2012 - 10:15
нет, не меняется...по моим наблюдениям вкл\выкл чекбокса никакие свойства не затрагивает...с таким "ненормальным" GIU мне приходится мучитьсяа значение value меняется в зависимости от вкл\выкл чекбокса?
#6
Отправлено 24 января 2012 - 10:37
у меня тоже бывали такие проблемы и вопросы решались именно таким путем)
только проблема была с лейблами..в окне программы было много лейблов в которых выводились какието значения,которые мне нужно было считать.но все эти лейблы в своих названиях и содержали эти значение, а по остальным всем свойствам были одинаковыми, кроме id, который постоянно менялся. решили проблему заменой лейблов на текстовые поля загрееные без границ ) с которых значение считывается прекрасно. А интерфейс программы от этого ни на сколько не изменился
#7
Отправлено 24 января 2012 - 11:06
Данный элемент внутри тестируемого приложения и так является "флажком", причем это стандартный элемент формы, других подобных ему нет...можно попросить разработчиков чтобы они заменили контрол именно на чекбокс ..типо им никакой разницы с этого не будет,а для тестирования хорошо!)
у меня тоже бывали такие проблемы и вопросы решались именно таким путем)
только проблема была с лейблами..в окне программы было много лейблов в которых выводились какието значения,которые мне нужно было считать.но все эти лейблы в своих названиях и содержали эти значение, а по остальным всем свойствам были одинаковыми, кроме id, который постоянно менялся. решили проблему заменой лейблов на текстовые поля загрееные без границ ) с которых значение считывается прекрасно. А интерфейс программы от этого ни на сколько не изменился
В общем, надо думать, что с этим делать...
#8
Отправлено 24 января 2012 - 11:15
#9
Отправлено 24 января 2012 - 11:19
Как вариант - можно сделать скриншот включенного флажка (только самой "галочки", без рамки и надписей), а в тесте использовать Regions.Find для поиска изображения флажка на скриншоте чекбокса. Как-то так:в худшем случае можно проверять изображение объекта )
if (Regions.Find(CheckBoxObject.Picture(), картинка_с_включенным_флажком)) // флажок установлен else // флажок снят
#10
Отправлено 24 января 2012 - 11:30
#11
Отправлено 24 января 2012 - 11:58
если мапить этот объект, то все объекты класса V8FormElement TC воспринимает как чекбоксы...а интересно Objectmapping может здесь както помочь (http://tctutorial.ru/objectmapping/) ?
Попробую воспользоваться советом modbear и поиграть с изображением установленного флажка
#12
Отправлено 25 января 2012 - 13:37
Как временное решение, в скрипте сейчас просто сравниваются две картинки - заранее добавленная в Regions и вторая, создаваемая в процессе прогона теста:
Regions.AddPicture(fr1.Window("V8FormElement", "", 5), "UnVyk");
if (!Regions.Compare("UnVyk", "Vyk"))
fr1.Window("V8FormElement", "", 5).Click();
Ничего другого, универсальнее и проще, пока придумать не получается
#13
Отправлено 25 января 2012 - 20:40
тоже както приходилось прибегать к таким методам,
правда потом появились проблемы...тесты нужно было запускать на другой машине, где все контролы выглядели чуток иначе (ОС другая была)..
пришлось все переписывать )
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных