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

Фотография

Не могу получить значение из калькулятора.


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

#1 iMightyMan

iMightyMan

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Серега

Отправлено 03 марта 2013 - 17:18

а) версия TestComplete'a
Прикрепленный файл  1.PNG   67,38К   1 Количество загрузок:
б) используемый скриптовый язык в TestComplete'e (JScript)
в) тестируемое приложение - Сalculator (Windows 7)

Проходя урок наткнулся на неожиданность - отсутствие свойства *.wText
ODT.Data.CalcGroup.Calc.Result = wCalc.Window("Edit", "", 1).wText;
это пример из урока (то есть как должно быть). Кажется я знаю где собака зарыта - дело в том, что у меня x64 битная винда... у нее немного другое представление информации(свойств/методов) приложений, на сколько я понял.
Используя браузер ТС нашел окно вывода результата, собственно:
Sys.Process("calc").Window("CalcFrame", "Calculator", 1).Window("CalcFrame", "", 1).Window("Static", "", 1)
но как достучаться до значения, не понимаю...

Вот функция на которой падает exception(на последней строке)(файл functions):
function _CalcStartODT()
{
  TestedApps.calc.Run();
  var wCalc = Sys.Process("calc").Window("CalcFrame", "Calculator", 1);
  ODT.Data.CalcGroup.Calc.Wnd = wCalc;
  ODT.Data.CalcGroup.Calc.Result = wCalc.Window("CalcFrame", "Calculator", 1).Window("Static", "", 1);
}

сам exception:
Cannot obtain the window with the window class 'CalcFrame', window caption 'Calculator' and index 1. See Additional Information for details.	18:50:55	Normal

и непонятно чего ошибка, что невозможно получить класс калькулятора, если я через Object Browser TC нахожу соответств. элемент и просто копирую...
  • 0

#2 iMightyMan

iMightyMan

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Серега

Отправлено 03 марта 2013 - 17:47

Все, нашел ошибку...

вместо:
ODT.Data.CalcGroup.Calc.Result = wCalc.Window("CalcFrame", "Calculator", 1).Window("Static", "", 1);
это:
ODT.Data.CalcGroup.Calc.Result = wCalc.Window("CalcFrame", "", 1).Window("Static", "", 1);

Только все равно не могу достучаться до текста, который находиться в Result... Сейчас попробую плагин OCR (Optical Character Recognition)

Сам код (файл TestODT):
function TestCalcODT () {
  var calc = ODT.Data.CalcGroup.Calc;
  calc.Start();
  Log.Message(calc.Calculate("(5+3)*2"));
  Log.Message("Result: "+calc.Result);
  calc.Stop();
}

UPD

Сейчас попробую плагин OCR (Optical Character Recognition)

Попытка потерпела неудачу :cray:
Решил по примеру из урока вывести все элементы, так сказать проверить саму функцию, как она работает... собственно код:
function TestOCR(){
  var  wnd;
  wnd = Sys.Process("calc").Window("CalcFrame", "Calculator", 1);
  wnd.Activate()
  
  var OCRobj = OCR.CreateObject(wnd);
  var sText = OCRobj.GetText();
  Log.Message("Распознанный текст" + sText);
    
}
и вот лог:
Прикрепленный файл  123.PNG   12,06К   9 Количество загрузок:

Не могу понять почему никакой цифры не определило...
OCRobj.GetText() всегда так долго работает?
  • 0

#3 anagramma

anagramma

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

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 04 марта 2013 - 07:44

Немного не по теме, но прочитать значение можно послав "Ctrl+C" и в буфере будет, то что в поле Result
  • 1

#4 Genka

Genka

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

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


Отправлено 04 марта 2013 - 08:19

Это проблема с калькулятором самим, который в 7ке и выше.

Скачайте себе Калькулятор Плюс, это аналог старого ХРшного калькулятора
http://www.microsoft...s.aspx?id=21622
  • 1

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

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

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


#5 iMightyMan

iMightyMan

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Серега

Отправлено 04 марта 2013 - 10:03

Немного не по теме, но прочитать значение можно послав "Ctrl+C" и в буфере будет, то что в поле Result



Это проблема с калькулятором самим, который в 7ке и выше.

Скачайте себе Калькулятор Плюс, это аналог старого ХРшного калькулятора
http://www.microsoft...s.aspx?id=21622

Спасибо за ответы :friends:
  • 0


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

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