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

Фотография

Delphi. Работа С Tdblookup Box'ами


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

#1 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 10 июля 2007 - 09:29

Может кто работал с подобными компонентами?
Возникла проблема при работе с TDBLookUpComboBox'ом: не знаю, как перейти к определенной строке в таком боксе.

То, что записано роботом:
p1.Window('TBELTSTARIFF', 'Новая схема расценки поясов').Window('TDBLookupComboBox').Click(255, 11);
p1.Window('TPopupDataList').Click(105, 32);

Приложение: Delphi.
Скрипт теста: DelphiScript.
  • 0

#2 ArtemRudenko

ArtemRudenko

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

  • Members
  • PipPipPip
  • 248 сообщений
  • ФИО:Руденко Артем Михайлович
  • Город:Минск


Отправлено 10 июля 2007 - 12:00

Попробуйте посмотреть свойтсво Items указанного вами объекта. В программе можете попробовать использовать getItems метод для получения элемента списка. А вообще, заходите в Object Browser и просматриваете свойства, а также на закладку Methods, где вы увидите все доступные для этого объекта методы, и сможете выбрать то, что вам подходит больше всего.
  • 0
И всё-таки она вертится...

#3 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 10 июля 2007 - 12:06

я как-то сразу не обратил внимания, и только после ответа Артема понял: ваше приложение, скорее всего, не скомпилировано как Open. Если бы было скомпилировано как Опен, то у вас вместо обращений Window использовалось бы VCLObject.

Так что прежде всего надо бы перекомпилировать, а потом уже смотреть свойства/методы
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#4 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 10 июля 2007 - 12:19

я как-то сразу не обратил внимания, и только после ответа Артема понял: ваше приложение, скорее всего, не скомпилировано как Open. Если бы было скомпилировано как Опен, то у вас вместо обращений Window использовалось бы VCLObject.

Так что прежде всего надо бы перекомпилировать, а потом уже смотреть свойства/методы

Хм. Тогда вопрос: а что значит "скомпилировано как Open"? У нас даже программеры не знают, как это :)
  • 0

#5 ArtemRudenko

ArtemRudenko

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

  • Members
  • PipPipPip
  • 248 сообщений
  • ФИО:Руденко Артем Михайлович
  • Город:Минск


Отправлено 10 июля 2007 - 12:32

я как-то сразу не обратил внимания, и только после ответа Артема понял: ваше приложение, скорее всего, не скомпилировано как Open. Если бы было скомпилировано как Опен, то у вас вместо обращений Window использовалось бы VCLObject.

Так что прежде всего надо бы перекомпилировать, а потом уже смотреть свойства/методы

Хм. Тогда вопрос: а что значит "скомпилировано как Open"? У нас даже программеры не знают, как это :)

Открываем Help->Index->Open Application->Open Applications in Delphi and C++Builder и смотрим.
Плюс убедитесь, что у вас,если вы используете ТС новее версии 3, отключен Test Complete 3 compability plug-in.
И кстати попутно посмотрите в Help->Index->Open Application->Delphi->Examples->Retrieving Data From TDBLookupComboBox Надеюсь поможет.
  • 0
И всё-таки она вертится...

#6 Rifle

Rifle

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

  • Members
  • Pip
  • 37 сообщений
  • ФИО:Vitaliy
  • Город:Kyiv

Отправлено 10 июля 2007 - 16:12

C компонентом TDBLookUpComboBox нужно работать через его DataSource.
Но приложение должно быть обязательно откомпелировано как OpenApp.
Что это написано тут
Подробно как это сделать в хелпе то TestComplete
  • 0

#7 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 13 июля 2007 - 08:28

Я не работаю с Delphi в основном с Java.
Помойму компонент TDBLookUpComboBox загружает значения из БД.
У нас тоже значения грузятся из БД, этот метод выберает любое значение из ComboBox.
Item('//имя ComboBoxа//').ClickItem('//Значение которое нужно выбать//');

Как вариант можно еще использовать
Item('//имя ComboBoxа//').selectedIndex=i;
i - это порядковый номер значения.
  • 0

#8 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 13 июля 2007 - 08:35

Я не работаю с Delphi в основном с Java.
Помойму компонент TDBLookUpComboBox загружает значения из БД.
У нас тоже значения грузятся из БД, этот метод выберает любое значение из ComboBox.
Item('//имя ComboBoxа//').ClickItem('//Значение которое нужно выбать//');

Как вариант можно еще использовать
Item('//имя ComboBoxа//').selectedIndex=i;
i - это порядковый номер значения.

Попробую. Но по-моему ClickItem не поддерживается. При клике создается объект TPopupDataList и выбор происходит из него (это то, что записывается роботом).
  • 0

#9 Dmitry N

Dmitry N

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

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

Отправлено 14 июля 2007 - 08:04

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

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

#10 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 19 июля 2007 - 11:46

При использовании чуть выше приведенного примера выдает: "Undeclared identifier: FieldByName". Тоесть фактически он не понимает эту конструкцию :(
PS: ТС 5.
  • 0

#11 Dmitry N

Dmitry N

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

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

Отправлено 20 июля 2007 - 06:57

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

Забыл отметить что приложение должно быть откомпилированно как Open с Debug Information. Иначе все эти нативные методы и свойства, используемые в скрипте, TestComplete'у доступны не будут.
  • 0
С уважением,
Дмитрий

#12 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 25 июля 2007 - 07:47

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

Забыл отметить что приложение должно быть откомпилированно как Open с Debug Information. Иначе все эти нативные методы и свойства, используемые в скрипте, TestComplete'у доступны не будут.

Возник тут глупый вопрос: в демке ТС могли исключить возможность работы с датасетами?
Не понимаю: откомпилили как Open, включили Debug Information. А все равно использовать методы из Delphi для работы с датасетами не можем :(
Грустно становится: никак не могу найти инструмент для работы, в котором можно пользоваться не пресловутым Click по объекту с заданием координат, а нормальным Item с заданиет текста.
  • 0

#13 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 25 июля 2007 - 08:10

насколько я знаю, подобных огграничений в демо-версии нету

как вариант, попробуйте скачать последнюю версию (5.13). Вы не написали, какая именно у вас версия, а, к примеру, 5.0 была достаточно глючная, так что стоит попробовать
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#14 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 25 июля 2007 - 11:07

насколько я знаю, подобных огграничений в демо-версии нету

как вариант, попробуйте скачать последнюю версию (5.13). Вы не написали, какая именно у вас версия, а, к примеру, 5.0 была достаточно глючная, так что стоит попробовать

Версия 5.11.
  • 0

#15 ЮстусТретий

ЮстусТретий

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

  • Members
  • PipPipPip
  • 201 сообщений
  • ФИО:Сергей

Отправлено 25 июля 2007 - 13:44

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

Забыл отметить что приложение должно быть откомпилированно как Open с Debug Information. Иначе все эти нативные методы и свойства, используемые в скрипте, TestComplete'у доступны не будут.

Возник тут глупый вопрос: в демке ТС могли исключить возможность работы с датасетами?
Не понимаю: откомпилили как Open, включили Debug Information. А все равно использовать методы из Delphi для работы с датасетами не можем :(
Грустно становится: никак не могу найти инструмент для работы, в котором можно пользоваться не пресловутым Click по объекту с заданием координат, а нормальным Item с заданиет текста.


Нет Demo полнофункциональна и Open приложения у меня работали. В ObjectBrowser смотрите - видите значок Open приложения напротив своего процесса?
  • 0

#16 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 26 июля 2007 - 07:57

Да, приложение и скомпилированно и отображается как Open.
  • 0

#17 Dmitry N

Dmitry N

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

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

Отправлено 27 июля 2007 - 17:30

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

А попробуйте откомпилировать как Open пример поставляемый с Delphi и посмотреть, сможете ли с DataSet этого контрола работать. Пример лежит тут:
C:\Program Files\Borland\Delphi7\Demos\Db\MastApp\
  • 0
С уважением,
Дмитрий

#18 solnik

solnik

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Зовут Меня Николай

Отправлено 30 июля 2007 - 07:30

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

А попробуйте откомпилировать как Open пример поставляемый с Delphi и посмотреть, сможете ли с DataSet этого контрола работать. Пример лежит тут:
C:\Program Files\Borland\Delphi7\Demos\Db\MastApp\


Компильнул (правда из Delphi 6). Все равно не понимает FieldByName.
Ладно, попробую скачать версию ТС 5.13 - вдруг поможет.
Ну уж если не поможет, придется искать что-то другое :(
  • 0


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

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