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

Публикации Rumata

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



#46656 сокрытие приложения

Отправлено автор: Rumata 18 сентября 2007 - 08:54 в SmartBear (AutomatedQA) - Functional Testing

Да я чего то забыл :)
использую DelphiScript
Win XP
тестируемые приложения (точнее не тестируемые в них я делаю дополнительную обработку данных из за чего их желательно скрыть) :
telnet и notepad



#46651 сокрытие приложения

Отправлено автор: Rumata 18 сентября 2007 - 07:54 в SmartBear (AutomatedQA) - Functional Testing

Как запустить приложение чтобы оно могло теститься(клики по кнопкам, ввод данных) но в тоже время его не было видно пользователю, пусть система будет недоступна но окошки не вылазят



#49951 фунция Evaluate

Отправлено автор: Rumata 05 декабря 2007 - 04:53 в SmartBear (AutomatedQA) - Functional Testing

что-то я много ерунды в предыдущем посте написал, и все без толку
перепишите свои процедры, заменив их на функции, и тогда смело пользуйтесь функцией Evaluate

вот переделанный пример из хелпа

function PostMessage:boolean;
begin
  Log.Message('Success');
  Result:=true;
end;

procedure TestEval;
begin
  Evaluate('PostMessage');
end;


Спасибо и правда помогло!!!

теперь буду хелпы читать более внимательно :-)



#57727 кодировка текста писем

Отправлено автор: Rumata 25 июня 2008 - 11:30 в SmartBear (AutomatedQA) - Functional Testing

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

тут вот такая чтука делаеться...
отправляю письмо а его текст в кракозябре, причём OUTLOOK тему нормально распознаёт
кракозябрами только текст письма
пробовал сохранять исходники скрипта в ANSI и UTF8, и всё равно такаяже картина :(
подскажите как это можно решить
вот сама процедура:
function SendEmail(mFrom, mTo, mSubject, mBody, mAttach);
var
  i, schema, mConfig, mMessage : OleVariant;
begin
  
  try
	schema := 'http://schemas.microsoft.com/cdo/configuration/';
	mConfig := Sys.OleObject('CDO.Configuration');
	mConfig.Fields.Item(schema + 'sendusing') := 2; // cdoSendUsingPort
	mConfig.Fields.Item(schema + 'smtpserver') := 'бла.бла.бла'; // SMTP server
	mConfig.Fields.Item(schema + 'smtpserverport') := 25; // Port number
	// mConfig.Fields.Item(schema + 'sendusername') := ''; // User name (if needed)
	// mConfig.Fields.Item(schema + 'sendpassword') := ''; // User password (if needed)
	mConfig.Fields.Update();
	
  
	mMessage := Sys.OleObject('CDO.Message');
	mMessage.Configuration := mConfig;
	mMessage.From := mFrom;
	mMessage.To := mTo;
	mMessage.Subject := mSubject;
	mMessage.HTMLBody := mBody;
	for i := 0 to GetCSVCount(mAttach) - 1 do
	  mMessage.AddAttachment(GetCSVItem(mAttach, i));
	mMessage.Send();
	Log.Message('Сообщение отправленно!', 'Адресат - '+mTo, pmNormal, debug_attr );
	Result := True;
  except
	Log.Message('Сообщение не отправленно!', '', pmNormal, error_attr );
	Result := False;
  end;
end;



#57769 кодировка текста писем

Отправлено автор: Rumata 26 июня 2008 - 04:15 в SmartBear (AutomatedQA) - Functional Testing

modbear, спасибо помогло

serpent , правильно мой косяк :) я правда переделал чтоб тело письма было текстовое, т.к. мне это не критично. Ради интереса попробовал передавать хтмл, но максимум чего добился так это,то что если ставлю кои8р в кодировке у меня когда письмо приходит во всплывающей подсказке текст читабельный, а при открытии он опять кракозябрами :(
вот я решил не заморачиваться и передавать "текстовое тело" письма :)



#49912 фунция Evaluate

Отправлено автор: Rumata 04 декабря 2007 - 12:20 в SmartBear (AutomatedQA) - Functional Testing

TC 5.12
delphiscript

Люди подскажите что за ошибка не пойму

У меня есть файл там строка: gen_string(1,1,1,1,1,6)
это есть название процедуры.
Теперь в коде, я вытаскиваю из файла строку, пишу в массив(olevariant),потом из массива обратно в переменную(string)
и хочу выполнить такой код:Evaluate (vv+ ' ;');
vv это у меня переменная где записана строка вышеупомянутая эта строка без evaluate выполняется, я блин всё перепробовавл не знаю почему такое может быть

при попытке выполнения кода лезет ошибка Unable to evaluate : gen_string at Line:1, Char:2.

Помогите пожалуйста решить эту проблему.



#48591 по строковому имени процесса сделать действие

Отправлено автор: Rumata 07 ноября 2007 - 02:53 в SmartBear (AutomatedQA) - Functional Testing

ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на

Evaluate (arr[i] + '.Click;')


да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично


Нет, вы правильно написали, по идее у события "клик" есть параметры, а если их не указывать то можно ставить пустые скобки, но видимо сама функция "Evaluate" чего то там преобразовывает и поэтому потом ругается на эти самые скобки



#48537 по строковому имени процесса сделать действие

Отправлено автор: Rumata 06 ноября 2007 - 12:03 в SmartBear (AutomatedQA) - Functional Testing

delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу


т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)

если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.

Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arr

Evaluate (arr[i] + '.Click();')
не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта



ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на
Evaluate (arr[i] + '.Click;')



#48532 по строковому имени процесса сделать действие

Отправлено автор: Rumata 06 ноября 2007 - 11:15 в SmartBear (AutomatedQA) - Functional Testing

delphiscript
tc 5.12


Привет Всем
Проблема вот в чём:

Есть файл 123.txt
в нём написаны имена процессов:
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', 'CE')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '7')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '8')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '9')
и так далее
теперь в скрипте я считываю имена процессов в массив(olevariant)

mass_obj := BuiltIn.CreateVariantArray(1, kk); // присваиваю массиву длину
while not eof(f) do
begin
kk := kk + 1;
readln( f, s);
mass_obj[kk] := s;
end;

потом в другой процедуре пытаюсь кликнуть
l_mass_obj := BuiltIn.CreateVariantArray(1, dl_mass); // присваиваю массиву длину
l_mass_obj := mass_obj;
tpm := l_mass_obj[l_i];
tpm.click();

tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу



#46392 Tc Не Видит Кнопку По Которой Надо Кликнуть

Отправлено автор: Rumata 11 сентября 2007 - 11:07 в SmartBear (AutomatedQA) - Functional Testing

Пасиб Большое Refresh помог!!!
весь день экспериментировал со всякой лабудой, а так не догадался :)

А насчет ошибок: бывает при одном запуске скрипт отрабатывает а потом нет, еще было рабочие процедуры перестали работать, потом ради эксперимента убрал комментарии на других которые делали совершенно другие действия и всё заработало...



#46366 Tc Не Видит Кнопку По Которой Надо Кликнуть

Отправлено автор: Rumata 11 сентября 2007 - 06:17 в SmartBear (AutomatedQA) - Functional Testing

Здравствуйте все у меня такая вот ошибка, второй день над ней мучаюсь

Использую TectComplete 5.12.454.7
Тестируемая программа написана на java
язык скрипта Delphi

Суть программы такова, есть удалённые Unix сервера которые чего там делают
Программа же их администрирует

так вот
у меня еся на форме проги кнопка "Отчёты" по клику на ней вылазит маленькое окошко где размещены пять кнопок на различные отчеты.
ошибка вот в чем первые две кнопки сверху кликаются без проблем , третья же не хотит: в логе лезит ошибкаThe window is disabled. The action cannot be executed.

Так вот пробовал вчера первые две процедуры комментировать - не работало, теперь же работает клик по третьей кнопке если нет первых процедур
весь прикол в том что процедуры идентичны почти там просто разные имена кнопок
и по проверке кнопка как бы существует
if Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Exists then
begin
// кликаем по кнопке о выводе отчёта( 3-й с верху)
// кнопку он видит пробуем кликнуть
Log.Message('Кнопка экзистится пробуем кликануть по ней');
Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Click();
t := true;
end

исключение не возникает код рабочий.

и скажите ещё у testcomplita порой глюки лезят , это нормальный режим работы ? :)

пробовал ставить у окна свойсва enabled и focus в true всё равно не работает
refresh тоже не работает

скриншот прилагаю
и полный код скрипта
Помогите пожалуста, или есть у кого нить какие идеи по этому поводу

Прикрепленные файлы




#55489 доступ к объекту

Отправлено автор: Rumata 17 апреля 2008 - 03:37 в SmartBear (AutomatedQA) - Functional Testing

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

Попробуйте использовать метод WaitProperty:

var metka = <metkaObj>;
 
   metka.WaitProperty("Visible", false, 60000);


попробовал, не получаеться...
вот как сделал:
if (Evaluate(tpm_n_obj+'.WaitProperty(''Visible'', true, 60000)'))and(Evaluate(tpm_n_obj+'.WaitProperty(''enabled'', true, 60000)'))and(Evaluate(tpm_n_obj+'.WaitProperty(''exists'', true, 60000)'))then

если выполняеться то я жду секунду и по новой пытаюсь достучаться

условие всегда выполняеться хотя объекта на портлете нет :yahoo:

у меня теты на виртуальной машине, может это влияет, хотя раньше не замечал ни за чем подобном...



#55333 доступ к объекту

Отправлено автор: Rumata 14 апреля 2008 - 10:44 в SmartBear (AutomatedQA) - Functional Testing

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

Столкнулся с такой штукой, не знаю что делать:

у мня есть web интерфейс написанный на AJAX
так вот там есть портлет на котором я делаю какие либо действия,
итак, я, например, выбираю некоторый пункт списка, нажимаю "переместить", после этого у меня на на портлете появлеться метка с анимацией "пожалуста ждите".
Я в коде проверяю наличие метки таким способом:
sys.refresh;
delay(zdk);
if (метка.exists)and(метка.visible)and(метка..enabled) then
 бла-бла-бла

так вот начало имени объекта(метки) я изменяю добавив метод "Wait" получаеться sys.wait<остальное имя>

проблема в том что когда объект исчезает с портлета скрипт его видит и не делает то что мне надо!

в браузере объектов я смотрел, и там этот объект исчезает как только отработает...

незнаю что за .....

Кто нить встречался с подобным?



#53425 Экспорт объектов из "Object Browser"

Отправлено автор: Rumata 03 марта 2008 - 06:09 в SmartBear (AutomatedQA) - Functional Testing

Здравствуйте!
Подскажите пожалуйста как можно экспортнуть дерево объектов из объектного браузера ТС 5.14

экспорт в любом формате



#47484 Работа с TreeView

Отправлено автор: Rumata 09 октября 2007 - 08:41 в SmartBear (AutomatedQA) - Functional Testing

delphiscript
TC 5.12
тестируемое приложение на Java

Подскажите как можно вытащить имя текущей ноды из TreeView.
В объектах ничего не отображается.:(
т.е. кликнул по TreeView, определил имя ноды, кликнул в другом TreeView нашел тама ноду с таким же именем.