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

Фотография

BCG Grid и Stingray Grid в TestComplete


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

#1 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 12 августа 2008 - 10:51

Здравствуйте,
На данный момент мы используем(программисты) компонент Stingray Grid. Приложение написано на C++ Visual Studio 2005. Но у меня не получается в TestComplete 6.40 достучаться до ячеек (например получить число столбцов в гриде , кликнуть по нужной ячейке). Грид определяется как 'GXWND'. При записи действий (Start Recording) получаю просто Click(55,90), т.е. просто клик по форме.А хотелось бы именно как Item получить эту ячейку.
На сайте Automated QA скачала примеры для работы с этими компонентами но они тоже не работают ( в тех поддержку отписалась, но они еще не ответили).
Есть аналогичный компонет только другой фирмы BCG Grid. Скачала пример с их сайта, чтобы проверить как в Тесткомплите будут открываться его свойства. Но он также не показывает ни RowCount ни ColCount:( в Object Properties-Finder Tool. Грид определяется как 'BCGPGridCtrl'.
На сайте Automated QA ничего про BCG не нашла, похоже они его не поддерживают.
Может кому-то приходилось уже тестировать гриды фирмы Stingray или BCG, может знаете как получить число ячеек, число строк и т.д. Может что-то доустановить нужно еще?
Заранее спасибо
  • 0

#2 AlexP

AlexP

    Опытный участник

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

Отправлено 13 августа 2008 - 05:59

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


Так Вы можете работать со свойствами и методами этого грида (отсутствие 2-х свойств не показатель) - приложение Open?
Если есть возможность, выложите сюда примерчик грида...
  • 0

#3 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 13 августа 2008 - 10:50

Так Вы можете работать со свойствами и методами этого грида (отсутствие 2-х свойств не показатель) - приложение Open?
Если есть возможность, выложите сюда примерчик грида...

Да со свойствами могу работать. Прикладываю картинки какие определяются свойства и методы данного грида .

В хелпе прочла что до ячеек в Тесткомплите можно достучаться так : Grid.Model.RowCount например, но совйства Model у моего компанента нет.
Вот кусочек кода - нажатие на ячейку, ввод в ячейку букв нажатие Enter. вот что записал Рекордер:
//DelphiScript
w1 := frmMainWindow.Window('GXWND', 'Grid');
  w1.VScroll.Pos := 1;
  w1.Click(457, 24);
  w1.Window('Edit').Keys('ere[Enter]');
Т.е. он просто кликает по координатам, а не по какой-то определенной ячейке:( ( например как в списке или в дереве Item [0])
Три рисунка с методами и свойствами прикрепила вложенным файлом. Методов намного больше все принскринить не стала, но не в одном из них не нашла, к примеру, метода похожего на ColCount или RowCount.

Прикрепленный файл  Archive.zip   110,14К   52 Количество загрузок:
  • 0

#4 VLana

VLana

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:ВСВ

Отправлено 13 августа 2008 - 12:23

Прошу прощения что вклиниваюсь. Но мне эта тема очень актуальна, так как в нашем приложении помимо стандартных компонентов DELPHI еще много именно этих гридов, данные в которых надо прверять, а вот посмотреть информацию в ячеейке никак не получается :(
Если есть способы, то поделитесь пожалуйста
  • 0

#5 AlexP

AlexP

    Опытный участник

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

Отправлено 14 августа 2008 - 09:44

...Прикладываю картинки какие определяются свойства и методы данного грида...


Я вообще-то ожидал небольшое тестовое приложение (форма и грид на ней).

Обычно сами гриды данные не содержат, все данные находятся в так называемых datasours'ах. Спросите у разработчиков, с помощью какого объекта set'ятся данные в грид (это может быть, например, какой-нибудь gridview - ищите его в списках Fields для формы, на которой лежит грид; это может быть, повторюсь, datasource - ищите его в списке объектов для грида и т.д.)
  • 0

#6 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 14 августа 2008 - 11:38

Я вообще-то ожидал небольшое тестовое приложение (форма и грид на ней).

Обычно сами гриды данные не содержат, все данные находятся в так называемых datasours'ах. Спросите у разработчиков, с помощью какого объекта set'ятся данные в грид (это может быть, например, какой-нибудь gridview - ищите его в списках Fields для формы, на которой лежит грид; это может быть, повторюсь, datasource - ищите его в списке объектов для грида и т.д.)

Пожалуйста расскажите как именно и что спросить у программистов. Один из них подошел ко мне я им показала Ваш вопрос. Он смутно сказал что datasource у них создаются Edit Combobox И др типы ячеек. Выпросила у него кусочек кода как создается одна ячейка в таблице. Приложено ниже. Но что конкретно мне надо искать и как кликать по ячейке по нужной я так и не поняла:((
bool cGridParams::Load(cControl &ctrl, int iCurRow)

{

//cControl& ctrl = m_Controls[iCurRow];

const CString c_strTab = " ";

SetStyleRange( CGXRange(iCurRow, 3), CGXStyle().SetItemDataPtr(0) );

if ( ctrl.Type == e_Group || ctrl.Type == e_GroupCheck)

{

if ( ctrl.Type == e_Group)

{

SetStyleRange( CGXRange(iCurRow, 1),

CGXStyle()

.SetEnabled(FALSE)

.SetHorizontalAlignment(DT_CENTER)

.SetValue("-")

.SetControl(GX_IDS_CTRL_STATIC)

.SetFont( CGXFont().SetBold(TRUE) )

.SetWrapText(TRUE)

.SetInterior( ::GetSysColor(COLOR_INFOBK) ) );

SetStyleRange( CGXRange(iCurRow, 2),

CGXStyle()

.SetHorizontalAlignment(DT_CENTER)

.SetValue( ctrl.strCaption )

.SetEnabled(FALSE)

.SetControl(GX_IDS_CTRL_STATIC)

.SetFont( CGXFont().SetBold(TRUE) )

.SetWrapText(TRUE)

.SetInterior( ::GetSysColor(COLOR_INFOBK) ) );

// скажем группе, что она открыта

ctrl.iState = 1;

}
....
Может мне нужно попросить сделать какие-то дополнительные методы , чтобы получить число столбцов число строк?Может какой-то метод напишут выделения нужной ячейки?
  • 0

#7 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 15 августа 2008 - 10:37

Сегодня еще раз спрашивала у программистов как они работают с этим компонентом. Они сказали что на форму они кладут Custom Control и именно он и носит имя 'GXWND', которое у меня определяется тесткомплитом. Затем во время выполнения они как то присваивают этому контролу тип CGXGridWnd который является производным от классов CWnd и CGXGridCore. И именно у CGXGridCore они как то вызывают функции SetRowCount SetColCount и т.д. Пожалуйста подскажите, как в тесткомплите добраться до свойств этого объекта (из того который определяется), чтобы тоже получить и число строк и столбцов.
  • 0

#8 AlexP

AlexP

    Опытный участник

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

Отправлено 18 августа 2008 - 06:01

Сегодня еще раз спрашивала у программистов как они работают с этим компонентом. Они сказали что на форму они кладут Custom Control и именно он и носит имя 'GXWND', которое у меня определяется тесткомплитом. Затем во время выполнения они как то присваивают этому контролу тип CGXGridWnd который является производным от классов CWnd и CGXGridCore. И именно у CGXGridCore они как то вызывают функции SetRowCount SetColCount и т.д. Пожалуйста подскажите, как в тесткомплите добраться до свойств этого объекта (из того который определяется), чтобы тоже получить и число строк и столбцов.


Прошу прощения за долгое молчание, не было возможности ответить.
1) Если есть возможность, попросите программистов накидать пример (форма с гридом с какими-нибудь данными) и выложите его сюда.
2) Ищите похожие объекты на закладке Fields для вашей формы, у них ищите нужные свойства...
  • 0

#9 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 18 августа 2008 - 08:09

Прошу прощения за долгое молчание, не было возможности ответить.
1) Если есть возможность, попросите программистов накидать пример (форма с гридом с какими-нибудь данными) и выложите его сюда.
2) Ищите похожие объекты на закладке Fields для вашей формы, у них ищите нужные свойства...

Хорошо буду просить программистов. Пока еще раз опишу что у них смогла выяснить:
Они кладут на форму Custom Control имеет DialogID = 'IDC_PARAMS_GRID' и class ='GXWND';
В программе они уже его инициализуют командой m_GridParams.SubclassDlgItem(IDC_PARAMS_GRID, this); Т.е. связывают Custom Control с классом cGridParams. Этот класс является производным:
class cGridParams : public CGXGridWnd
Класс CGXGridWnd также является производным :
class CGXGridWnd : public CWnd, public CGXGridCore
А именно класс CGXGridCore и является исходным классом Stingray, у которого есть свойства и методы позволяющие получить число столбцов, строк и т.д. В тесткомлите(проверяла на дебажной сборки приложения)ни во вкладке Properties они не определяются, а вкладка Fields вообще пустая.
Вычитала в хелпе статью "Object Properties, Fields and Methods That Are Unavailable to TestComplete", там описан пример :
C++
class C1
{ int x;}

class C2 : public C1
{ int x2;}

class C3 : public C1
{ int x3;}

class C4 : public C2, public C3
{ int x4;}
и там дословно сказано : "Class C4 has two x members, one inherited from C2 and the other from C3. In the Object Browser you can only see one C4::x member and C2::x. Field C3::x is unavailable to TestComplete". Т.е. может и в нашем приложении достучаться до свойств класса CGXGridCore мне будет в Тесткомплите невозможно.
  • 0

#10 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 22 августа 2008 - 09:35

Я вообще-то ожидал небольшое тестовое приложение (форма и грид на ней).

Здравствуйте.
Прикладываю тестовое приложение debug ,release и исходники.
Помогите , что необходимо сделать чтобы TestComplete ( у меня версия 6.40) распознал свойства и методы Stingray Grid-a? Может еще что-то нужно установить, или сказать программистам чтобы еще что-то прописали?
Заранее спасибо.Прикрепленный файл  test.zip   1,53МБ   50 Количество загрузок:
  • 0

#11 Dmitry N

Dmitry N

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

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

Отправлено 25 августа 2008 - 05:15

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

Т.е. может и в нашем приложении достучаться до свойств класса CGXGridCore мне будет в Тесткомплите невозможно.

Да, похоже на то, что ваш случай подпадает под это исключение. Возможно, решением для вас стало бы определение новый публичных методов или свойств в классе cGridParams или CGXGridWnd, которые просто являлись бы прокси методами/свойствами для нужных методов/свойств базовых классов, которые недоступны TestComplete'у. Другим решением, хоть и более сложным на мой взгляд, является использование Self-Testing Applications. Подробнее о них найдёте в хелпе.
  • 0
С уважением,
Дмитрий

#12 AlexP

AlexP

    Опытный участник

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

Отправлено 25 августа 2008 - 13:32

Увы, тоже ничем помочь не могу :clapping:
  • 0

#13 yuryk

yuryk

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

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

Отправлено 08 сентября 2008 - 07:39

На данный момент мы используем(программисты) компонент Stingray Grid. Приложение написано на C++ Visual Studio 2005. Но у меня не получается в TestComplete 6.40 достучаться до ячеек

TestComplete - не пользую... да и зачем ? - когда есть такие как - QTP (Quick Test Professional).
Stingray Grid о котоором идёт речь отлично распознаётся QTP, естественно при установленном Stingray-Addin-е.

Кроме того - есть поддержка не только Grid-а, но и других контролов от Rogue Wave Software -
тулбары, табы, деревья - в общем полный комплекс...

Заранее спасибо

чем можем... будут ещё вопросы - спрашивай
  • 0

#14 Tuchka_84

Tuchka_84

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • ФИО:Маша

Отправлено 08 сентября 2008 - 11:15

TestComplete - не пользую... да и зачем ? - когда есть такие как - QTP (Quick Test Professional).
Stingray Grid о котоором идёт речь отлично распознаётся QTP, естественно при установленном Stingray-Addin-е.

Кроме того - есть поддержка не только Grid-а, но и других контролов от Rogue Wave Software -
тулбары, табы, деревья - в общем полный комплекс...


Дело в том, что наша компания позволить себе столь дорогой продукт купить не может. Мне купили лицензию на тесткомплит поэтому его и использую.
  • 0

#15 yuryk

yuryk

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

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

Отправлено 08 сентября 2008 - 12:17

TestComplete - не пользую... да и зачем ? - когда есть такие как - QTP (Quick Test Professional).
Stingray Grid о котоором идёт речь отлично распознаётся QTP, естественно при установленном Stingray-Addin-е.

Кроме того - есть поддержка не только Grid-а, но и других контролов от Rogue Wave Software -
тулбары, табы, деревья - в общем полный комплекс...


Дело в том, что наша компания позволить себе столь дорогой продукт купить не может. Мне купили лицензию на тесткомплит поэтому его и использую.


А мы работаем с QTP - он таки стОит своих денег. - действительно мощный продукт.
Возможно стоит подумать ( если пока ещё не завязались на TestComplete ) - перейти на QTP.
  • 0


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

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