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

modbear

Регистрация: 18 апр 2007
Offline Активность: 02 дек 2016 09:45
*****

#142626 Работа со всплывающими окнами WPF приложений.

Написано modbear 15 июля 2015 - 17:34

..напр. окно появляющееся при нажатии на стрелку выбора размера шрифта в ворде...

Джедайский способ изменить размер шрифта для выделенного текста:
Sys.OleObject("Word.Application").Selection.Font.Size = 10;
Или если обязательно надо через GUI:
function Test1()
{
  var word = Sys.Process("WINWORD");
  var doc = word.Form("* - Microsoft Word");
  var ribbon = doc.Panel("MsoDockTop").ToolBar("Ribbon");

  var btn = ribbon.Window("MsoWorkPane", "Ribbon", 1).Window("NUIPane", "", 1).PropertyPage("Ribbon").Pane("Lower Ribbon").Client(0).PropertyPage("Home").ToolBar("Font").ComboBox("Font Size:").Button("Open");
  btn.Click();

  var fontList = word.Window("Net UI Tool Window").Panel("Font Size:").List("Font Size:");
  fontList.Client(0).ListItem("10").Click();
}
msaa-settings.png word-toolbars.png word-font-combo.png
 

Любое стороннее, неоткомпилированное приложение вызывает подобные трудности.

Смотря что за приложение. .NET и Java, например, компилить не надо - там все внутренности сразу видны. C++/Delphi - уже сложнее. Но для таких случаев как раз есть MSAA, Text Recognition, в крайнем случае поиск на основе картинок. 
 

С какой версии это работает, если не секрет?

MSAA? Всегда было, насколько я помню.
  • 1


#140042 ProjectLog - Messages Panel

Написано modbear 18 марта 2015 - 15:34

Как использовать выделенную область на картинке? В Справке есть только описание, что туда выводится, но нет никаких примеров каким образом это делается.

 
Когда в дереве лога выбран проект или test item (т.е. "групповая нода"), а не конкретный скрипт, то Messages показывает всякие глобальные ошибки, которые случились во время выполнения дочерних элементов. Например, почему выполнения проекта остановилось - таймаут, ошибка или т.п. Это read-only информация.

 

messages.png

Вы можете доавлять сообщения только в лог скрипта (конечные ноды в дереве лога) - используя Log.Message, Log.Error, Log.Warning и т.п.


  • 1


#139281 Проход по текстовому файлу

Написано modbear 18 февраля 2015 - 12:01

Найти текст в файле:

// JScript
var strFileName = "C:\\MyFile.txt";
var strText = "lorem ipsum";

var strFileContents = aqFile.ReadWholeTextFile(strFileName, aqFile.ctANSI);
if (aqString.Find(strFileContents, strText, 0, false /* игнорируем регистр букв */) >= 0)
  // нашли
else
  // не нашли

Найти regex в файле:

// JScript
var strFileName = "C:\\MyFile.txt";
var strRegex = "\\d+"; // Вместо \d пишем \\d, потому что здесь не regex literal, а строка; а в JS-строках слеши надо дублировать

var strFileContents = aqFile.ReadWholeTextFile(strFileName, aqFile.ctANSI);
if (aqString.StrMatches(strRegex, strFileContents))
  // нашли
else
  // не нашли

  • 1


#138416 Regions без вывода сообщения о checkpoint

Написано modbear 20 января 2015 - 15:03

Используйте Regions.Compare c параметром MessageType = lmNone.


  • 1


#137219 Определение рядом стоящих элементов в TC Object Browser

Написано modbear 03 декабря 2014 - 08:34

Можно написать скрипт, который будет перебирать объекты и сравнивать их экранные координаты с базовым объектом. Что-то типа (псевдокод):

// найти чилдовый комбобокс справа от OBJ
children = parent.FindAllChildren("WndClass", "ComboBox", 10);
for each (child in children)
{
  if ((child.X > OBJ.X) // объект слева от OBJ?
      AND (abs(child.Y - OBJ.Y) <= 10)) // объект на одном уровне по вертикали с OBJ?
  then
  {
    // подходит
  }
}

  • 1


#135551 Каким методом можно создать папку?

Написано modbear 16 октября 2014 - 16:59

aqFileSystem.CreateFolder(path)

  • 1


#135178 Цвет фона у WPFObject(DataGridRow).

Написано modbear 07 октября 2014 - 08:32

Узнайте у разработчиков, как они выставляют цвет. Может быть, там другое свойство, не Background.Color. Или посмотрите сами каким-нибудь .NET декомпилятором (Reflector, ILSpy или т.п.).

В крайнем случае можно сделать скриншот строки и взять цвет пиксела (0,0):

var color = rowObj.Picture().Pixels(0, 0);
// TODO: Разбить на R, G и B компоненты (если нужно)

  • 1


#134133 Text Recognition не видит объектов в VLCObject

Написано modbear 11 сентября 2014 - 15:02

Надо указывать значение свойства WndClass. Для каждого объекта, к которому надо применить Text Recognition.

А что у вас за контрол (WndClass, VСLClass, производитель)? Приложение с отладочной информацией? Может быть, есть какие-то внутренние свойства/методы для автоматизации действий.


  • 1


#133872 Работа с айтемами TdxBarControl

Написано modbear 04 сентября 2014 - 09:21

Скорее всего, надо звать нативный Click асинхронно основному скрипту. Как это сделать -- рассказано в статье Calling Methods Asynchronously.

 
А можно где то статью увидеть ?
Error
Или написать здесь как в итоге разрешилась проблема?

Calling Methods Asynchronously

Смысл в том, что если нативный метод показывает модальное окно, то этот метод надо звать не напрямую, а используя Runner.CallObjectMethodAsync.
  • 1


#133827 TC не видит элементы внутри панельки

Написано modbear 03 сентября 2014 - 15:11

Приложение скомпилировано как раз с дебаг инфох

Только заметила, что у вас в тегах TestComplete 7. Наверное, в 7й версии этот контрол еще не поддерживался (т.е. не было для него ClickItem и т.п.)

 

Добавил в Text Recognition
TDXBarControl ,
Но Методы не появились

Там не методы должны появиться, а дочерние объекты TextObject("название кнопки") для кнопок. Вот как здесь на картинках: пример.
 

Еще вариант - использовать нативные свойства/методы для работы с айтемами. Примеры:
Работа с айтемами TdxBarControl
Accessing Developers Express Bar Items


  • 1


#133254 Как в testcomplete получать доступ к компонентам web-приложения?

Написано modbear 15 августа 2014 - 14:48

Ещё у меня есть 6, 7 и 9 тесткомплит, но там, походу, вообще нет поддержки web тестирования (в свойстве проекта такого пункта вообще нет), и там этот инструмент для IE тоже на странице ничего не видит.

  • Какая версия IE? Например, поддержку IE 11 добавили как раз в TC 10; предыдущие версии TC могут с ним не работать. Список поддерживаемых версий браузеров для каждой версии ТС есть в хелпе.
  • Какая версия TestComplete - Standard или Enterprise? Веб-тестирование там было только в Enteprise.
  • В File > Install Extensions есть плагины Web Testing, Firefox Support, Chrome Support? Может, они отключены?

  • 1


#133223 Как в testcomplete получать доступ к компонентам web-приложения?

Написано modbear 14 августа 2014 - 14:51

Вы, наверное, используете Firefox или Chrome? Тогда нужен патч:
для Firefox
для Chrome

Если у вас версия ТestComplete, для которой нет патча для вашей версии FF/Chrome, откатите браузер до поддерживаемой версии и отключите автообновление. Или используйте IE.
  • 1


#125069 RibbonBar не распознается

Написано modbear 14 декабря 2013 - 08:19

У вас, похоже, Visual C++ MFC приложение с BCG Ribbon. Странно, что MSAA не помогло. Для их сэмпла BCGPMSOfficeDemo MSAA работает - надо добавить в MSAA класс BCGPRibbonBar*.

Прикрепленные изображения

  • ribbon-bar-msaa.png

  • 1


#122567 TestComplete 9 & Outlook 2013

Написано modbear 08 октября 2013 - 09:53


Попробуйте добавить AwesomeBar в свойства проекта -> Open Applications > MSAA. Возможно, это улучшит распознавание объектов.

ммм, мне бы еще знать как это сделать?
растолкуйте пожалуйста.

  • Выбрать пункт меню Tools > Current Project Properties.
  • Выбрать категорию Open Applications > MSAA.
  • Добавить в таблицу строку с текстом AwesomeBar, включить напротив нее чекбокс.

Прикрепленные изображения

  • msaa-settings.png

  • 1


#121302 Тесты в Амазон Клауде

Написано modbear 28 августа 2013 - 07:39

Сама не пробовала, но на сайте TestComplete есть вот такой мануал:
Preparing Your Cloud Environment for Automated Testing

Возможно, там упоминаются какие-нибудь настройки для решения вашей проблемы.
  • 1