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

Фотография

Получение Данных Из Statusbar-а


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

#1 mefisto

mefisto

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

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

Отправлено 29 августа 2007 - 09:45

Добрый день. Использую Тесткомплит 5.13. В тестированом приложении, на форме снизу расположен DevExpress-овский статус бар. На нём есть 3 разных записи. Каким образом можно получить информацию из этого статус бара? тест комплит обзывает его таким вот образом: Window("TdxStatusBar", "", 1)
  • 0

#2 Dmitry N

Dmitry N

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

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

Отправлено 29 августа 2007 - 11:56

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

По всей видимости, это не стандартный Win32 контрол. Лучший способ в данном случае -- откомпилировать приложение как Open. В этом случае вы сможете получить доступ к нативным свойствам и методам объекта.
  • 0
С уважением,
Дмитрий

#3 Dmitry N

Dmitry N

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

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

Отправлено 29 августа 2007 - 11:56

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

По всей видимости, это не стандартный Win32 контрол. Лучший способ в данном случае -- откомпилировать приложение как Open. В этом случае вы сможете получить доступ к нативным свойствам и методам объекта.
  • 0
С уважением,
Дмитрий

#4 Dmitry N

Dmitry N

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

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

Отправлено 29 августа 2007 - 11:56

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

По всей видимости, это не стандартный Win32 контрол. Лучший способ в данном случае -- откомпилировать приложение как Open. В этом случае вы сможете получить доступ к нативным свойствам и методам объекта.
  • 0
С уважением,
Дмитрий

#5 Dmitry N

Dmitry N

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

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

Отправлено 29 августа 2007 - 11:58

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

Во проглючило систему. :) Как удалить лишние посты -- не знаю.
  • 0
С уважением,
Дмитрий

#6 AlexP

AlexP

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

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

Отправлено 29 августа 2007 - 12:14

Напишите, пожалуйста, на каком языке написано приложение и полное имя DevExpress'овского status bar'а (желательно с Namespace'ом). Вечером постараюсь помочь!
  • 0

#7 ArtemRudenko

ArtemRudenko

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

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


Отправлено 29 августа 2007 - 12:16

Так на ум, что пришло, если у вас приложение open, то посмотрите в списке extensions TestComplete 3 compability plug-in и, если он будет включен, отключите, по идее станет лучше.
  • 0
И всё-таки она вертится...

#8 mefisto

mefisto

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

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

Отправлено 29 августа 2007 - 12:44

TestComplete 3 compability plug-in - отключен был уже давно
Приложение пишеться на делфи, тестовый скрипт я пишу на c#
вот имя статусбара: sbMain: dxStatusBar.TdxStatusBar
Утром специально попросил откомпилить как Опен, пишет в Object.Properties следующее: wPartCount = 0, wText - соответственно пуст, и не находит потомков статус бара, хотя как я понимаю, закладки в котором выводяться данные, должны быть потомками
Вот фулл нэйм: Sys.Process("Project").VCLObject("fmBaseSelectFEditF").VCLObject("sbMain")
  • 0

#9 AlexP

AlexP

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

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

Отправлено 30 августа 2007 - 10:52

TestComplete 3 compability plug-in - отключен был уже давно
Приложение пишеться на делфи, тестовый скрипт я пишу на c#
вот имя статусбара: sbMain: dxStatusBar.TdxStatusBar
Утром специально попросил откомпилить как Опен, пишет в Object.Properties следующее: wPartCount = 0, wText - соответственно пуст, и не находит потомков статус бара, хотя как я понимаю, закладки в котором выводяться данные, должны быть потомками
Вот фулл нэйм: Sys.Process("Project").VCLObject("fmBaseSelectFEditF").VCLObject("sbMain")


Увы, у меня под рукой только DevExpress'овские контролы для C# Как вариант, попроси программеров создать тестовую форму и кинуть на неё этот статус бар. Выложи пример здесь, должны помочь (прецедент есть).
P.S. Глянул DevExpress'овские контролы для C# - нашёл только RibbonStatusBar, но он какой-то левый...
  • 0

#10 AlexP

AlexP

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

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

Отправлено 30 августа 2007 - 15:30

Посмотри, есть ли у твоего контрола в Properties коллекция "Panels" (или "Bars"... что-то в этом роде)?
  • 0

#11 Dmitry N

Dmitry N

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

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

Отправлено 31 августа 2007 - 16:18

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

Как только вы откомпилировали ваше приложение как Open с отладочной информацией, вы получили доступ к нативным свойствам и методам объектов приложения.

function Test()
{
  var p = Sys["Process"]("Project1");
  var w = p["VCLObject"]("Form1");
  var sb = w["VCLObject"]("dxStatusBar1");
  for (var i = 0; i < sb["Panels"]["Count"]; i++) {
	Log["Message"](sb["Panels"]["Items"](i)["Text"]);
  }
}

  • 0
С уважением,
Дмитрий

#12 mefisto

mefisto

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

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

Отправлено 03 сентября 2007 - 08:06

Здравствуйте. Извините что не мог раньше ответить, на работе закончился лимит траффика ((((
Дмитрий, пробовал вашь код - в логе не появдяються никакие записи, так что как я понимаю, оно мне говорит что количество панелк там 0
Попросил программистов кинуть на формочку етот статус бар, патался тут прикрепить - не даёт((( выкладываю на рапидшаре:
http://rapidshare.co...oject1.rar.html
Из свойств бара, думаю единственное что можно было бы использовать есть wPartCount и wText, но значение wPartCount равно 0

Появился ещё один вопрос по девєкспросовским компонентам, поєтому тут и спрошу.
На форме расположен PageControl, на котором есть пару закладок, в настоящий момент я реализовал их нажатие просто кляцаньем мышки, что думаю есть не очень оптимально. Так вот, в чём проблема, оно эти закладки видит не как компонент ПэйджКонтрола, а как элемент всей формы, и в свойствах неактивной закладки указано что она невидимая, потому и нажать и установить на неё фокус я не могу. Есть ли возможность это решать каким то нормальным способом? Буду ждать вашего ответа, потому как на этих закладках и статус баре привязано больше количество тестов((((
Сама компонента размещена на моей тестовой формочке
  • 0

#13 Genka

Genka

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

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


Отправлено 03 сентября 2007 - 09:19

а форме расположен PageControl, на котором есть пару закладок, в настоящий момент я реализовал их нажатие просто кляцаньем мышки, что думаю есть не очень оптимально.


посмотрите список методов этого PageControl

там должно быть что-то вроде set_SelectedTab

оно эти закладки видит не как компонент ПэйджКонтрола, а как элемент всей формы


возможно вы используете Flat Object Tree Model? по проекту правой кнопкой мыши, затем Edit - Properties - General
проверьте значение Object Tree Model

в свойствах неактивной закладки указано что она невидимая, потому и нажать и установить на неё фокус я не могу

эта проблема должна решиться, если использовать внутренний метод PageControl'a, как я указал выше
  • 0

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

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

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


#14 mefisto

mefisto

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

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

Отправлено 03 сентября 2007 - 10:01

посмотрите список методов этого PageControl

там должно быть что-то вроде set_SelectedTab


В списках методов такого нету(

возможно вы используете Flat Object Tree Model? по проекту правой кнопкой мыши, затем Edit - Properties - General
проверьте значение Object Tree Model


Да, в настройках указано, что Object Tree Model - Flat

посмотрите список методов этого PageControl

там должно быть что-то вроде set_SelectedTab


Смотрел и в обычном билде, и в опене - нету таких методов.
В опен билде есть такое свойство: Active page, но у него методов нету

В примере что я выложил всё отображено, какая у меня Ж с этими компонентами(((
  • 0

#15 AlexP

AlexP

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

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

Отправлено 03 сентября 2007 - 10:17

Здравствуйте. Извините что не мог раньше ответить, на работе закончился лимит траффика ((((
Дмитрий, пробовал вашь код - в логе не появдяються никакие записи, так что как я понимаю, оно мне говорит что количество панелк там 0
Попросил программистов кинуть на формочку етот статус бар, патался тут прикрепить - не даёт((( выкладываю на рапидшаре:
http://rapidshare.co...oject1.rar.html
Из свойств бара, думаю единственное что можно было бы использовать есть wPartCount и wText, но значение wPartCount равно 0

Появился ещё один вопрос по девєкспросовским компонентам, поєтому тут и спрошу.
На форме расположен PageControl, на котором есть пару закладок, в настоящий момент я реализовал их нажатие просто кляцаньем мышки, что думаю есть не очень оптимально. Так вот, в чём проблема, оно эти закладки видит не как компонент ПэйджКонтрола, а как элемент всей формы, и в свойствах неактивной закладки указано что она невидимая, потому и нажать и установить на неё фокус я не могу. Есть ли возможность это решать каким то нормальным способом? Буду ждать вашего ответа, потому как на этих закладках и статус баре привязано больше количество тестов((((
Сама компонента размещена на моей тестовой формочке


Да, контролы и впрямь странные. Со StatusBar'ом пока не разобрался. А что касается Tab'ов, то тут два варианта:
1) Написать метод для работы со свойством Visible (хотя мне казалось, что оно public, и сетить его из TestComplete можно) - тут придётся программеров просить (это полуминутная работа)
2) Эмулировать нажатие Ctrl+Tab
Пока всё...
  • 0

#16 Genka

Genka

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

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


Отправлено 03 сентября 2007 - 10:36

В списках методов такого нету(

В примере что я выложил всё отображено, какая у меня Ж с этими компонентами(((


я и не говорил, что будет именно такой, я сказал "там должно быть что-то вроде set_SelectedTab"
но вам это в данном случает не поможет, так как пример, который вы выложили на рапидшаре, не скомпилирован как Open

выложите скомпилированный как Опен, пожалуйста
для проверки этого выделите процесс в Object Browser и проверьте, что свойство IsOpen = True

кроме того, желательно включить отладочную информацию, тогда с приложением можно больше всякого сделать
как это все сделать можно прочитать в хелпе, раздел Open Applications in Delphi and C++Builder
  • 0

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

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

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


#17 Genka

Genka

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

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


Отправлено 03 сентября 2007 - 10:39

Да, в настройках указано, что Object Tree Model - Flat


вот из-за этого странички ТабКонтрола выглядят как потомки формы, а не ТабКонтрола

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

для небольших проектов как раз модель Flat подходит больше
  • 0

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

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

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


#18 AlexP

AlexP

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

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

Отправлено 03 сентября 2007 - 10:44

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


Я думаю, что можно воспользоваться стандартным action'ом SetFocus()

но вам это в данном случает не поможет, так как пример, который вы выложили на рапидшаре, не скомпилирован как Open


Я работаю с C# приложениями, там нет такого понятия, как Open. Поэтому и не заметил подвоха :(
  • 0

#19 Genka

Genka

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

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


Отправлено 03 сентября 2007 - 10:50

Я думаю, что можно воспользоваться стандартным action'ом SetFocus()

..........

Я работаю с C# приложениями, там нет такого понятия, как Open. Поэтому и не заметил подвоха :(


SetFocus установит фокус на этот контрол, а нам нужно выбрать вкладку
применить же метод SetFocus к вкладке не получится. Хотя бы потому, что при первом запуске видна только первая вкладка, а остальные не видны даже в Object Browser.

Единственный воркэраунд в данном случае - жать Ctrl-Tab до тех пор, пока вкладка не станет Visible.
Но сначала надо попробовать Опен аппликейшн
.........
Я тоже работаю с C# приложением, ваистену приятно :)
  • 0

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

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

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


#20 mefisto

mefisto

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

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

Отправлено 03 сентября 2007 - 11:03

Вот линк на открытую версию.
http://rapidshare.co...2/open.rar.html
Но как я понимаю если найдёться методы решения проблеммы, мне придёться в дальнейшем работать с открытыми билдами....
  • 0


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

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