После прохождения теста, изменилось свойство объекта
#1
Отправлено 28 ноября 2008 - 13:25
ТС 6.40, Delphi-sctript, web application.
Кто-нибудь сталкивался с проблемой, что ТестКомплит изменяет свойства объектов?
У меня есть тест, который проверяет сортировку столбца (сортировка производится по клику по заголовку).
Заголовок имеет примерно такой адрес: Sys.Process('iexplore').Page(ляляля).Panel(0).Table(0).Cell(0, 0).ляляля.Cell(1, 0)
Я кликаю по заголовку (поля отсортировались), далее кликаю по первой ячейке. В этот момент заголовок просто исчезает! Смотрю свойство - VisibleOnScreen: false. Куда делся?! Руками такое повторить не удается.
К сожалению, не получается прикрепить скриншоты этого безобразия (даже в архиве).
#2
Отправлено 01 декабря 2008 - 14:58
Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?Доброго времени суток!
ТС 6.40, Delphi-sctript, web application.
Кто-нибудь сталкивался с проблемой, что ТестКомплит изменяет свойства объектов?
У меня есть тест, который проверяет сортировку столбца (сортировка производится по клику по заголовку).
Заголовок имеет примерно такой адрес: Sys.Process('iexplore').Page(ляляля).Panel(0).Table(0).Cell(0, 0).ляляля.Cell(1, 0)
Я кликаю по заголовку (поля отсортировались), далее кликаю по первой ячейке. В этот момент заголовок просто исчезает! Смотрю свойство - VisibleOnScreen: false. Куда делся?! Руками такое повторить не удается.
К сожалению, не получается прикрепить скриншоты этого безобразия (даже в архиве).
Про Тестинг
#3
Отправлено 02 декабря 2008 - 07:04
Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?
Вычитывала... тот же объект, просто VisibleOnScreen стало false с какого-то перепугу.
#4
Отправлено 02 декабря 2008 - 07:45
Не встречался с подобной проблемой. Может, ТС каким-то образом активизирует какой-нибудь скрипт на странице? Посмотрите, если ли на странице скрипты, в которых VisibleOnScreen выставляется в false и, если есть, в каком случае такой скрипт выполняется.
А пример можете предоставить?
Дмитрий
#5
Отправлено 08 декабря 2008 - 07:49
Здравствуйте.
Не встречался с подобной проблемой. Может, ТС каким-то образом активизирует какой-нибудь скрипт на странице? Посмотрите, если ли на странице скрипты, в которых VisibleOnScreen выставляется в false и, если есть, в каком случае такой скрипт выполняется.
А пример можете предоставить?
Пример в каком плане? Код или скриншот?
#6
Отправлено 08 декабря 2008 - 12:39
Пример такого поведения. Например URL страницы, если она в открытом доступе.
Кстати, а есть способ намерянно скрыть заголовок куда-нибудь как-нибудь кликнув? Может, ваш скрипт просто нечаянно делает это (дабл-клик в уголок заголовка или что-нибудь в этом роде)?
Дмитрий
#7
Отправлено 08 декабря 2008 - 16:39
Предлагаю вам сравнить объекты до и после нажатия, чтобы увидеть что еще в нем поменялось... VisibleOnScreen уже нашли, а может еще что-то произошло. Можете спросить у разработчиков, узнать на сколько это поведение правильное и может они подскажут что...Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?
Вычитывала... тот же объект, просто VisibleOnScreen стало false с какого-то перепугу.
И кстати, как визуально это сказывается при ручном тестировании?
Про Тестинг
#8
Отправлено 10 декабря 2008 - 06:50
1) Меняется только VisibleOnScreen, проверяла (массу времени потратила! :) )
2) Разработчики сами не понимают, почему такое происходит. возможно правда какой-то скрипт отрабатывает, но как-то неожиданно и странно
3) При ручном прогоне теста такого не происходит
4) веб-приложение в закрытом доступе, могу только попытаться приложить скирншот, который врят ли чем поможет...
#9
Отправлено 10 декабря 2008 - 09:07
Что-то мы тут все тупим немного. VisibleOnScreen -- это свойство добавляемое TestComplete'ом, и его значение высчитывается в момент получения этого самого значения. Когда вы смотрите значение этого свойства любого объекта в Object Browser -- оно будет False. Если объект реально не виден на экране (закрыт другим, за границей видимой области окна и т.п.), это свойство будет False.
Вам надо смотреть на стили объекта, причём не обязательно объекта заголовка, а может быть какого-нибудь его родительского объекта (например, Panel). К текущим стилям можете добраться через свойство 'currentStyle'. Вас должно интересовать значение стиля 'visibility'. Проверьте его когда объект виден и когда не виден. Узнайте у разработчиков, может ли этот стиль меняться из скриптов на странице.
Дмитрий
#10
Отправлено 10 декабря 2008 - 12:04
Здравствуйте.
Что-то мы тут все тупим немного. VisibleOnScreen -- это свойство добавляемое TestComplete'ом, и его значение высчитывается в момент получения этого самого значения. Когда вы смотрите значение этого свойства любого объекта в Object Browser -- оно будет False. Если объект реально не виден на экране (закрыт другим, за границей видимой области окна и т.п.), это свойство будет False.
Вам надо смотреть на стили объекта, причём не обязательно объекта заголовка, а может быть какого-нибудь его родительского объекта (например, Panel). К текущим стилям можете добраться через свойство 'currentStyle'. Вас должно интересовать значение стиля 'visibility'. Проверьте его когда объект виден и когда не виден. Узнайте у разработчиков, может ли этот стиль меняться из скриптов на странице.
У объекта Cell родительский обеъект - вся таблица (Table). Однако разработчики говорят? что они оперируют в некоторых случаях строками. ТестКомплит же не видит эти строки как отдельные объекты.
На счет VisibleOnScreen - это понятно, я нискалкой смотрю, а не только в Object Browser.
#11
Отправлено 10 декабря 2008 - 12:38
А что такое строки в данном случае? Если это просто текст внутри ячейки, то его можно получить через свойство innerText ячейки.
Что там со стилями?
Дмитрий
#12
Отправлено 10 декабря 2008 - 14:27
У объекта Cell родительский обеъект - вся таблица (Table). Однако разработчики говорят? что они оперируют в некоторых случаях строками. ТестКомплит же не видит эти строки как отдельные объекты.
На счет VisibleOnScreen - это понятно, я нискалкой смотрю, а не только в Object Browser.
А у вас не может быть заморочек с событиями в коде приложения?
Например, есть обработчики для клика и на ячейку, и на всю таблицу (пример, может быть неудачный, но для иллюстрации пойдет). При запуске вручную могут отсылаться оба сообщения и оба события создают правильную реакцию, а ТС, например, отсылает сообщение только ячейке и вторая функция просто не отрабатывает...
Второй вариант: в каком-нибудь событии есть какое-нибудь условие, типа, если строка таблицы не выделена, то все обнуляем и ничего не делаем. При автоматическом запуске мы ее не выделили, приложение все честно обнулило.
Если разработчики иногда оперируют чем-то, что может не видеть тул, то можно подозревать любую пакость...
Посмотреть можно в дебаге, или вставить в код для всех событий и сомнительных мест простые меседжбоксы и потом сравнить результаты.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных