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

Публикации modbear

13 публикаций создано modbear (учитываются публикации только с 27 апреля 2023)


#151695 JSONPath для TestComplete?

Отправлено автор: modbear 03 июня 2016 - 17:08 в SmartBear (AutomatedQA) - Functional Testing

Здесь, наверное, зависит от языка. Для Python есть jsonpath-rw. Для JavaScript есть https://github.com/s3u/JSONPath, но у меня не получилось подружить jsonpath.js с TestComplete (через USEUNIT); видимо, какие-то фишки JavaScript'а не работают в JScript.

Как вариант можно попробовать JSON.NET через CLR Bridge. Пример:
// JScript
function Test()
{
  var str = '{"name": "MyCompany", "people": [ {"name": "John", "age": 30}, {"name": "Jane", "age": 26} ] }';

  // Конвертиреум строку в JSON.NET объект
  var obj = dotNET.Newtonsoft_Json_Linq.JObject.Parse(str);

  // Ищем все поля "name"
  var names = obj.SelectTokens("$..name");
  names.System_Collections_IEnumerable_GetEnumerator(); // Без этой строки работать не будет
  var item;
  while (names.MoveNext())
  {
    item = names.System_Collections_IEnumerator_get_Current();
    Log.Message(item.Value_2.OleValue);
  }
}
 
// Результат:
// MyCompany
// John
// Jane



#151689 JSONPath для TestComplete?

Отправлено автор: modbear 03 июня 2016 - 11:01 в SmartBear (AutomatedQA) - Functional Testing

Интересует возможность поиска элементов в JSON-ответе в среде TestComplete/JScript. Не нашел ничего подобного.

 
Вам нужен именно JSONPath, чтобы делать к JSON-объекту запросы типа $..book[?(@.price<10)]? Или надо просто распарсить JSON, чтобы обращаться к полям по имени, типа obj.store.books[1].author?




#151145 Передача значения переменной при работе через COM

Отправлено автор: modbear 13 мая 2016 - 10:54 в SmartBear (AutomatedQA) - Functional Testing

Вместо RunRoutine используйте RunRoutineEx. Там можно передать список параметров в виде массива.




#150191 Как отключить логи в TestComplete/TestExecute?

Отправлено автор: modbear 08 апреля 2016 - 17:43 в SmartBear (AutomatedQA) - Functional Testing

По-моему, их нельзя отключить полностью.




#147521 TestComplete перестает видеть java

Отправлено автор: modbear 30 декабря 2015 - 10:14 в SmartBear (AutomatedQA) - Functional Testing

Пишите в службу поддержки:
https://support.smar...od=TestComplete



#147424 Работа с TestComplete из cmd

Отправлено автор: modbear 25 декабря 2015 - 09:04 в SmartBear (AutomatedQA) - Functional Testing

1) К открытому TeatComplete'у подключиться можно только через COM-интерфейс: получить объект TestComplete.TestCompleteApplication и позвать у него метод Integration.RunRoutine (если функция без параметров) или Integration.RunRutineEx (если функция с параметрами). Примеры: Calling Script Routines via COM.

2) Если подключаетесь по COM'у - запускайте функцию с помощью метода Integration.RunRoutineEx.

Если запускаете через cmd - можно передавать данные через командную строку. Т.е. по-идее можно попробовать сделать так:
TestComplete.exe "C:\Work\MySuite.pjs" /r /p:Project1 /u:Unit1 /rt:test /a:"Hello, world"

function test(a) {
  if (typeof a === "undefined") {
    a = <читаем значение параметра "a" из командный строки>
  }
  Log.Message(a);
}



#143018 Delphi xe5

Отправлено автор: modbear 27 июля 2015 - 10:57 в SmartBear (AutomatedQA) - Functional Testing

Настройки компиляции для Delphi XE5 приложений - вот это?




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

Отправлено автор: modbear 15 июля 2015 - 17:34 в SmartBear (AutomatedQA) - Functional Testing

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

Джедайский способ изменить размер шрифта для выделенного текста:
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? Всегда было, насколько я помню.



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

Отправлено автор: modbear 15 июля 2015 - 16:11 в SmartBear (AutomatedQA) - Functional Testing

 

Наилучший случай - это когда разработчики сразу дают требуемым элементам уникальные идентификаторы

Предлагаете попросить разработчиков Word проидентифицировать элементы поудобнее?! Ну-ну, давайте попросим, посмотрим что с этого получится )) А еще чтобы они его компилировали особым образом, дабы ТС видел все свойства объектов :)

 

 

А какие именно проблемы с Word, если не секрет? Если имеется ввиду риббон, то достаточно в TestComplete распознавание с помощью MSAA. А с самими документами удобнее работать по COM (через объект Word.Automation).




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

Отправлено автор: modbear 15 июля 2015 - 11:00 в SmartBear (AutomatedQA) - Functional Testing

Правильно ли я понимаю, что если браузеры стоят современные, то при использовании TestComplete 7 Enterprise - не будет функции Web Testing, даже учитывая то что плагин установлен?

Да, скорее всего, с современными браузерами работать не будет.
 

Подскажите, пожалуйста, к какой версии браузеров (Chrome, IE, Mozilla FireFox) откатиться для TC7.

Список поддерживаемых браузеров и версий должен быть в хелпе TC7. Навскидку (судя по version history) - IE 8, Firefox 3.5, а Chrome не поддерживается.

P.S. В новых версиях TC кроме поддержки современных браузеров есть удобные плюшки - cross-browser тестирование, поиск по XPath/CSS селекторам и т.п. В Version History есть полный список улучшений.




#142513 Как проверить наличие всех элементов?

Отправлено автор: modbear 10 июля 2015 - 14:08 в Автоматизированное тестирование

Как вариант - object checkpoint для всей формы. В чекпойнт включить все чилдовые объекты + свойства Exists, Visible, Top и Left всех объектов (это чтобы проверить, "не сместилось ли").




#142493 UI Automation и Цвет элементов

Отправлено автор: modbear 10 июля 2015 - 08:01 в Автоматизированное тестирование

Насколько я знаю, в UI Automation нет информации о цветах объектов. Вообще.

 

Возможные решения зависят от того, на чем вы пишете. Например, можно сделать скриншот кнопки и получить цвет оттуда.




#142379 Функциональное тестирование Delphi приложений!

Отправлено автор: modbear 07 июля 2015 - 08:16 в Автоматизированное тестирование

Для Delphi наилучший вариант - TestComplete. Особенно если в приложении 3rd party контролы типа DevExpress. Ranorex толком не распознает Delphi гриды, риббоны и т.п. сложные контролы.

Например, TestComplete запишет клик по гриду как ClickCell(row, column):

grid.ClickCell(2, "Product Name");

а Ranorex - как координатный клик:

grid.Click("168;45");

Единственное требование для TestComplete - приложение должно быть с отладочной информацией. Она нужна, чтобы вытащить наружу внутренние свойства и методы объектов, которые нужны для нормальной автоматизации.

Без отладочной информации и TestComplete и Ranorex работают с Delphi-приложениями примерно одинаково. Хотя в TestComplete есть дополнительные плюшки типа OCR/Text Recognition.