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

Фотография

Работа с TADODataSet


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

#1 Kapitoshka

Kapitoshka

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Миниахметов Эдуард Рафисович

Отправлено 17 августа 2009 - 10:20

Может, кто-нибудь сталкивался с такой проблемой. В TestComplete 7 Trial Version тестирую приложение, написанное на Delphi 7. На форме объект DBGrid отображает даные наследника класса TADODataSet. В скрипте мне несколько раз нужно искать нужную запись в списке (чтобы проверять, допустим, появилась ли в списке созданная запись). Делаю я это стандартным методом Locate класса TADODataSet. Только вот он иногда срабатывает, а иногда нет. Запустил тест один раз - нашел запись. Запустил еще раз - не нашел, хотя своими глазами вижу, она есть. Такая же проблема с удалением записи: удаляет раз через три. Может дело в нагруженности процессора, может иногда TestComplete не успевает уловить некоторые объекты? Пробовал вставлять Delay, не помогает. Все равно работает, когда захочет. :victory:
  • 0

#2 Dmitry N

Dmitry N

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

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

Отправлено 21 августа 2009 - 18:43

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

Возможно, надо сначала курсор DataSet передвинуть на начало. Для этого попробуйте позвать метод First перед Locate.
  • 0
С уважением,
Дмитрий

#3 Kapitoshka

Kapitoshka

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Миниахметов Эдуард Рафисович

Отправлено 24 августа 2009 - 09:24

Возможно, надо сначала курсор DataSet передвинуть на начало. Для этого попробуйте позвать метод First перед Locate.

Пробовал и First. И еще пробовал и Close вместе с Open. Что интересно, даже когда курсор стоит на той самой записи которую надо найти, причем TestComplete в этот момент прекрасно считывает данные из этого датасета (через метод FieldValues датасета). А Locate иногда все равно False возвращает.
  • 0

#4 Dmitry N

Dmitry N

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

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

Отправлено 24 августа 2009 - 10:32

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

Метод Locate является нативным методом. Наверное, глючит соответствующий компонент Delphi. Есть возможность проверить работу этого метода в аналогичных условиях, только из самого приложения?
  • 0
С уважением,
Дмитрий

#5 Kapitoshka

Kapitoshka

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Миниахметов Эдуард Рафисович

Отправлено 25 августа 2009 - 07:23

Есть возможность проверить работу этого метода в аналогичных условиях, только из самого приложения?


Добрый день, в самом приложении метод Locate используется повсеместно и очень часто, и работает превосходно. Может быть дело в 3-м параметре (параметры поиска). В Delphi они задаются перечислением [loCaseSensitive, loPartialKey]. Во-первых, эти параметры мне в TestComplete не нужны. В Deplhi я бы просто написал [], а в TestComplete так написать нельзя, и я пишу 0.
  • 0

#6 Dmitry N

Dmitry N

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

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

Отправлено 25 августа 2009 - 08:39

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

В этом случае, вероятно, вам имеет смысл написать в службу поддержки AutomatedQA. Возможно, они смогут вам помочь.
  • 0
С уважением,
Дмитрий

#7 Kapitoshka

Kapitoshka

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Миниахметов Эдуард Рафисович

Отправлено 25 августа 2009 - 10:18

Ясно, спасибо, попробую написать.
  • 0


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

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