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

Фотография

После прохождения теста, изменилось свойство объекта


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

#1 julia.ap

julia.ap

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

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

Отправлено 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. Куда делся?! Руками такое повторить не удается.
К сожалению, не получается прикрепить скриншоты этого безобразия (даже в архиве).
  • 0

#2 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 01 декабря 2008 - 14:58

Доброго времени суток!

ТС 6.40, Delphi-sctript, web application.

Кто-нибудь сталкивался с проблемой, что ТестКомплит изменяет свойства объектов?
У меня есть тест, который проверяет сортировку столбца (сортировка производится по клику по заголовку).
Заголовок имеет примерно такой адрес: Sys.Process('iexplore').Page(ляляля).Panel(0).Table(0).Cell(0, 0).ляляля.Cell(1, 0)
Я кликаю по заголовку (поля отсортировались), далее кликаю по первой ячейке. В этот момент заголовок просто исчезает! Смотрю свойство - VisibleOnScreen: false. Куда делся?! Руками такое повторить не удается.
К сожалению, не получается прикрепить скриншоты этого безобразия (даже в архиве).

Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?
  • 0
Алексей Булат
Про Тестинг

#3 julia.ap

julia.ap

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

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

Отправлено 02 декабря 2008 - 07:04

Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?


Вычитывала... тот же объект, просто VisibleOnScreen стало false с какого-то перепугу.
  • 0

#4 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 02 декабря 2008 - 07:45

Здравствуйте.

Не встречался с подобной проблемой. Может, ТС каким-то образом активизирует какой-нибудь скрипт на странице? Посмотрите, если ли на странице скрипты, в которых VisibleOnScreen выставляется в false и, если есть, в каком случае такой скрипт выполняется.

А пример можете предоставить?
  • 0
С уважением,
Дмитрий

#5 julia.ap

julia.ap

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

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

Отправлено 08 декабря 2008 - 07:49

Здравствуйте.

Не встречался с подобной проблемой. Может, ТС каким-то образом активизирует какой-нибудь скрипт на странице? Посмотрите, если ли на странице скрипты, в которых VisibleOnScreen выставляется в false и, если есть, в каком случае такой скрипт выполняется.

А пример можете предоставить?


Пример в каком плане? Код или скриншот?
  • 0

#6 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 08 декабря 2008 - 12:39

Здравствуйте.

Пример такого поведения. Например URL страницы, если она в открытом доступе.

Кстати, а есть способ намерянно скрыть заголовок куда-нибудь как-нибудь кликнув? Может, ваш скрипт просто нечаянно делает это (дабл-клик в уголок заголовка или что-нибудь в этом роде)?
  • 0
С уважением,
Дмитрий

#7 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 08 декабря 2008 - 16:39

Не вдаваясь в суть происходящего могу предположить, что ваш заголовок просто напросто "становится другим"... т.е. старый объект превращается в null, а новый вы не инициализировали еще... Может попробуйте по-новой вычитать свойства всей таблицы?


Вычитывала... тот же объект, просто VisibleOnScreen стало false с какого-то перепугу.

Предлагаю вам сравнить объекты до и после нажатия, чтобы увидеть что еще в нем поменялось... VisibleOnScreen уже нашли, а может еще что-то произошло. Можете спросить у разработчиков, узнать на сколько это поведение правильное и может они подскажут что...
И кстати, как визуально это сказывается при ручном тестировании?
  • 0
Алексей Булат
Про Тестинг

#8 julia.ap

julia.ap

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

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

Отправлено 10 декабря 2008 - 06:50

Отвечаю сразу на все:

1) Меняется только VisibleOnScreen, проверяла (массу времени потратила! :) )
2) Разработчики сами не понимают, почему такое происходит. возможно правда какой-то скрипт отрабатывает, но как-то неожиданно и странно
3) При ручном прогоне теста такого не происходит
4) веб-приложение в закрытом доступе, могу только попытаться приложить скирншот, который врят ли чем поможет...
  • 0

#9 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 10 декабря 2008 - 09:07

Здравствуйте.

Что-то мы тут все тупим немного. VisibleOnScreen -- это свойство добавляемое TestComplete'ом, и его значение высчитывается в момент получения этого самого значения. Когда вы смотрите значение этого свойства любого объекта в Object Browser -- оно будет False. Если объект реально не виден на экране (закрыт другим, за границей видимой области окна и т.п.), это свойство будет False.

Вам надо смотреть на стили объекта, причём не обязательно объекта заголовка, а может быть какого-нибудь его родительского объекта (например, Panel). К текущим стилям можете добраться через свойство 'currentStyle'. Вас должно интересовать значение стиля 'visibility'. Проверьте его когда объект виден и когда не виден. Узнайте у разработчиков, может ли этот стиль меняться из скриптов на странице.
  • 0
С уважением,
Дмитрий

#10 julia.ap

julia.ap

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

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

Отправлено 10 декабря 2008 - 12:04

Здравствуйте.

Что-то мы тут все тупим немного. VisibleOnScreen -- это свойство добавляемое TestComplete'ом, и его значение высчитывается в момент получения этого самого значения. Когда вы смотрите значение этого свойства любого объекта в Object Browser -- оно будет False. Если объект реально не виден на экране (закрыт другим, за границей видимой области окна и т.п.), это свойство будет False.

Вам надо смотреть на стили объекта, причём не обязательно объекта заголовка, а может быть какого-нибудь его родительского объекта (например, Panel). К текущим стилям можете добраться через свойство 'currentStyle'. Вас должно интересовать значение стиля 'visibility'. Проверьте его когда объект виден и когда не виден. Узнайте у разработчиков, может ли этот стиль меняться из скриптов на странице.


У объекта Cell родительский обеъект - вся таблица (Table). Однако разработчики говорят? что они оперируют в некоторых случаях строками. ТестКомплит же не видит эти строки как отдельные объекты.
На счет VisibleOnScreen - это понятно, я нискалкой смотрю, а не только в Object Browser.
  • 0

#11 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 10 декабря 2008 - 12:38

Здравствуйте.

А что такое строки в данном случае? Если это просто текст внутри ячейки, то его можно получить через свойство innerText ячейки.

Что там со стилями?
  • 0
С уважением,
Дмитрий

#12 Mila

Mila

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

  • Members
  • PipPipPip
  • 192 сообщений
  • Город:Санкт-Петербург

Отправлено 10 декабря 2008 - 14:27

У объекта Cell родительский обеъект - вся таблица (Table). Однако разработчики говорят? что они оперируют в некоторых случаях строками. ТестКомплит же не видит эти строки как отдельные объекты.
На счет VisibleOnScreen - это понятно, я нискалкой смотрю, а не только в Object Browser.


А у вас не может быть заморочек с событиями в коде приложения?
Например, есть обработчики для клика и на ячейку, и на всю таблицу (пример, может быть неудачный, но для иллюстрации пойдет). При запуске вручную могут отсылаться оба сообщения и оба события создают правильную реакцию, а ТС, например, отсылает сообщение только ячейке и вторая функция просто не отрабатывает...
Второй вариант: в каком-нибудь событии есть какое-нибудь условие, типа, если строка таблицы не выделена, то все обнуляем и ничего не делаем. При автоматическом запуске мы ее не выделили, приложение все честно обнулило.
Если разработчики иногда оперируют чем-то, что может не видеть тул, то можно подозревать любую пакость... :focus:
Посмотреть можно в дебаге, или вставить в код для всех событий и сомнительных мест простые меседжбоксы и потом сравнить результаты.
  • 0


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

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