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

Публикации Rumata

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



#52854 Вопрос о лицензии на ТестКомплит

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

У меня складывается такое впечатление что я один работаю на крякнутой версии :clapping:



#46588 Работа С Командной Строкой

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

Dmitry N, начал пытаться реализовать вашу процедуру, так у меня при компиляции ругается на input.WriteLine('ver'); пишет что происходит несовпадение типов, а там ведь и правда не получиться так сделать.
Кстати интересный факт теперь у меня ваша строка p := dotNET.System_Diagnostics.Process.zctor();, работает, а моя(которая ещё в пятницу отрабатывала) p := dotNET.System.System_Diagnostics_Process.ctor(); не хотит :)



#46589 Работа С Excel

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

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

Мы используем такой код. Простой и удобный.

MSE:= Sys.OleObject('Excel.Application');
   MSE.Workbooks.Open('C:\PurchaseOrder.xls');
   Log.Message(VarToString(MSE.Cells(i,j).value)); // i и j номер строки и столбца.


Где же ты раньше был? :)



#46419 Работа С Командной Строкой

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

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

Тут возникла необходимость получить данные которые выводяться в командню строку, кто нить знает как это сделать???
Я пытался сделать кодом Delphi который нашел в инете:


procedure com;
var ProcInfo: TProcessInformation;
StartupInfo: TStartupInfo;
SecAtrtrs: TSecurityAttributes;
hOut: THandle;
begin
with SecAtrtrs do
begin
nLength := SizeOf(TSecurityAttributes);
lpSecurityDescriptor := nil;
bInheritHandle := true; // ВОТ ОНО !!! Наша рукоятка будет НАСЛЕДУЕМОЙ
end;

// Создаем файл в который и будем переназначать StdOut
// Например, с такими настройками, вы можете их изменить под свои нужды
hOut := CreateFile('c:\MyStdOut.txt', GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (hOut = INVALID_HANDLE_VALUE) then RaiseLastWin32Error;

GetStartupInfo(StartupInfo);
with StartupInfo do
begin
wShowWindow := SW_HIDE; // не показывать окно
dwFlags := dwFlags or STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
hStdOutput := hOutDup; // присваиваем рукоятку на свой файл
end;

// для примера будем запускать [c:\program files\Borland\Delphi5\Bin]grep.exe с ключом '?'
// Вызов CreateProcess с флагом bInheritHandles = TRUE !!!
Win32Check(CreateProcess(nil, 'ipconfig /all', nil, nil, TRUE, CREATE_NEW_CONSOLE, nil, nil, StartupInfo, ProcInfo));

// ждем пока наш процесс отработает
WaitForSingleObject(ProcInfo.hProcess, INFINITE);

Win32Check(CloseHandle(ProcInfo.hProcess));

//если вы больше ничего не хотите делать с файлом, в который перенаправили StdOut, то закроем его
Win32Check(CloseHandle(hOut));
end;


но testcomplet при компиляции даёт ошибку, хотя в редакторе ошибки не идентифицируются
Если кто делал что нить подобное напишите пожалуста



#46488 Работа С Excel

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

Вот на скорую руку сделал, может как-то так =)

Set ExcelApp = CreateObject("Excel.Application")        pathFile = "C:\..\.xls"        ExcelApp.Workbooks.Open(pathFile)        Set Ran = ExcelApp.Sheets(1).Range("F9:G12")        ReDim arr(Ran.Cells.Count)        For nRow = 1 To Ran.Rows.Count                Set Row = Ran.Rows(nRow)                For nCell = 1 To Row.Cells.Count                        arr((nRow - 1) * Row.Cells.Count + nCell - 1) = Row.Cells(nCell).value                Next        Next



я забыл сказать я на delphi

если возможно можно на этом языке

я пытался переделать приведённый код, вот что получилось

var
m : array of string;
ExcelApp, Ran : olevariant;
ExcelApp := CreateObject('Excel.Application');
pathFile := "C:\123.xls';
ExcelApp.Workbooks.Open(pathFile)
Ran := ExcelApp.Sheets(1).Range('F9 : G12');
setlength(m, Ran.Rows.Count) // присваиваю массиву длину
For nRow := 1 To Ran.Rows.Count do
begin
Row := Ran.Rows(nRow);
For nCell := 1 To Row.Cells.Count
m[nRow, nCell] := Row.Cells(nCell).value;
end;


но лезут ошибки массивы он чтоли не понимает на объявлении переменных??



#46618 Работа С Командной Строкой

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

Вспомнил я ведь правда убрал "TestComplete 3 Compatibility"
Вот код процедуры всё также

procedure com;
var
p, input, output;
begin
p := dotNET.System_Diagnostics.Process.zctor();
p.StartInfo.FileName := 'C:\WINDOWS\system32\telnet.exe';
p.StartInfo.UseShellExecute := False;
p.StartInfo.RedirectStandardOutput := True;
p.StartInfo.RedirectStandardInput := True;
p.Start;
input := p.StandardInput;
output := p.StandardOutput;
input.WriteLine_11('?');
while not p.HasExited do
Delay(100);
while not output.EndOfStream do
Log.Message(output.ReadLine());

end;


окошко мелькает и исчезает, хотя cmd хотя бы на экране остаётся, поучается что запуск идёт неправильно может дело в dll System_Diagnostics ведь у нёё название содержит смысл "Диагностика" что как то с telnet -ом не вяжется???
вообщем я завяз и думаю может написать на Delphi элементарнейший клиент и из него уже таскать данные???



#46591 Работа С Командной Строкой

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

Заменил WriteLine на WriteLine_11 нормально заработало, но возникла другая проблема: мне ведь надо работать с telnet , и если просто ручками вызываешь cmd а потом телнет то сеанс нормально работает но testcomplete видимо воспринимает телнет как другой процесс и не передаёт ему команды которые я пишу , пробовал заменять p.StartInfo.FileName := 'c:\Windows\System32\cmd.exe'; на p.StartInfo.FileName := 'c:\Windows\System32\telnet.exe'; но тогда вообще логи пустые, мелькнёт окошко и всё
Как можно это обойти? или телнету нельзя так же команты передавать и читать как cmd ?



#46450 Работа С Excel

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

Подскажите как можно извлекать значения из ячеек

Например указываешь диапазон в цикле и он тупо переносит значения из Excel в массив например



#46445 Работа С Командной Строкой

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

А не проще работать с файлом после вывода?

с помощью добавления к консоли ">имяф_файла" - вывод будет направлен в файл.
Хотя скорее всего я просто не до конца вник в текст


Не проще т.к. команды пишу unuix серверу а он их не поймёт



#46448 Работа С Командной Строкой

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

я тут нашёл ещё...
так не пойдёт заменить ту строку??
p := dotNET.System.System_Diagnostics_Process.ctor();



#46447 Работа С Командной Строкой

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

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



Можете использовать ClrBridge, чтобы сделать это через .NET. Вот так:

procedure Test;
var
  p, output;
begin
  p := dotNET.System_Diagnostics.Process.zctor();
  p.StartInfo.FileName := 'c:\Windows\System32\cmd.exe';
  p.StartInfo.Arguments := '/c ipconfig';
  p.StartInfo.UseShellExecute := False;
  p.StartInfo.RedirectStandardOutput := True;
  p.Start;
  
  while not p.HasExited do Delay(100);
  output := p.StandardOutput.ReadToEnd();
  Log.Message(output);
end;



Чтобы этот код заработал, надо добавить ассемблю System.dll в ваш проект TestComplete'а. Для этого дважды щёлкните на имени проекта в Project Explorer, откройте страницу Properties редактора проекта и в опциях 'CLR Bridge' нажмите 'Browse GAC...'.


Спасибо большое за ответ.
Но у меня правда чего не получается:
Поставил себе .NET Framework 3.0
Сделал переконфигурацию testcomplete
потом всё так как вы написали , но он ругается что не знает такого "System_Diagnostics" до этого ругался на "dotNET", я уже внёс в список всё dll какие только были, значиться у меня её нет? как можно её найти?
Подскажите пожалуста



#46449 Работа С Командной Строкой

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

Заменил в коде строку p := dotNET.System_Diagnostics.Process.zctor(); на p := dotNET.System.System_Diagnostics_Process.ctor();
и вроде всё заработало только вот я не пойму как организовать такое действие:
Я запускаю cmd через testcomplete и данные тоже ввожу только им а вот полученыы результат уже и выводить
мне надо не одну не две команды написать , нужно организовать целую серию запросов-ответов



#52622 Текстовый файл

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

Delphi script

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

Столкнулся с такой проблемой: ассоциирую переменную с файлом
AssignFile( f, file_association );
Reset(f);


потом в скрипте у меня выполняются какие то действия по сценарию этого файла
но заморочка в том что у меня может в любой момент чтото отвалиться и файл не закрывается(использую CloseFile( f ); ), а нужно его отредактировать в реальном времени что нельзя сделать так как он заблокирован, приходиться перегружать TC

пробовал try-except, вызовы в критических кусках кода закрытия файла, но не получается отследитьвсе вариаты: либо возникает повторная ошибка закрытия либо файл блокируется

Подскажите как можно закрыть файл в людом случае при любых обстоятельствах.
А возможно ли запихать всё содержимое файла в переменную и работать с ней так же как и с файлом?



#52625 Текстовый файл

Отправлено автор: Rumata 08 февраля 2008 - 06:47 в SmartBear (AutomatedQA) - Functional Testing

можно записать все строки в массив(я делала так) и потом из массива вытаскивала по штуке.
PS (тоже встречалась с такой фигней что не освобождался файл и потом приходилось перегружать ТС - как избавиться на 100 % так не поняла)


классная идея спасибо!!!
счас вот реализую

Сначала перекидываю весь файл в двумерный массив а потом с ним работаю.

Если не я один с этим столкнулся выложу исходники может кому поможет



#52773 Текстовый файл

Отправлено автор: Rumata 12 февраля 2008 - 05:15 в SmartBear (AutomatedQA) - Functional Testing

С массивом всё работает как швейцарские часы! :dirol:

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



#52631 Текстовый файл

Отправлено автор: Rumata 08 февраля 2008 - 09:11 в SmartBear (AutomatedQA) - Functional Testing

ошибочка:
не
s := readln(f) ---> s := massiv[q+1];
а
readln(f,s) ---> s := massiv[q];
q:= q+1;


вот примерно так



#52643 Текстовый файл

Отправлено автор: Rumata 08 февраля 2008 - 11:27 в SmartBear (AutomatedQA) - Functional Testing

при работе с массивами очень полезные функции - BuiltIn.VarArrayRedim() и VarArrayHighBound(). Когда точно не известно заранее сколько будет элементов в массиве без них не обойтись


А можно поподробнее насчёт этих функций?


кстати, почему не работает

for ks_i := 1 to ks do
readln(fff,m_file[ks_i]);


приходиться в массив писать через дополнительную строковую переменную
for ks_i := 1 to ks do
begin
readln(fff,qwer);
m_file[ks_i] := qwer;
end;



#52629 Текстовый файл

Отправлено автор: Rumata 08 февраля 2008 - 08:50 в SmartBear (AutomatedQA) - Functional Testing

можно записать все строки в массив(я делала так) и потом из массива вытаскивала по штуке.
PS (тоже встречалась с такой фигней что не освобождался файл и потом приходилось перегружать ТС - как избавиться на 100 % так не поняла)


классная идея спасибо!!!
счас вот реализую

Сначала перекидываю весь файл в двумерный массив а потом с ним работаю.

Если не я один с этим столкнулся выложу исходники может кому поможет


вот процедура которя пишет в массив
procedure From_file_in_file(file_ : elevariant);
var
fff; // файловая переменная
ks : integer; // количество строк в файле
ks_i : integer; // счётчик
str_f;
begin
if debug then
log.message('DEBUG: Начало процедуры перенесения файла в массив');
if not(fileexists(file_)) then
begin
Fatal_Error('Невозможно найти файл сценария: ',file_);
end;
AssignFile( fff, file_ );
Reset(fff);
// нужно определить размерность массивa
if debug then
log.message('DEBUG: Определяю размерность массива');
ks := 0;
while not(eof(fff)) do
begin
readln(fff,str_f);
ks := ks + 1;
end;
closefile(fff);
Reset(fff);
// создаю массив необходимой размерности
m_file := BuiltIn.CreateVariantArray(1, ks);
//заполняю массив
for ks_i := 1 to ks do
readln(fff,m_file[ks_i]);
closefile(fff);
if debug then
log.message('DEBUG: размерность массива: '+ inttostr(ks));
end;


в коде нужно сделать определ глоб переменную непример q
a потом заменить или делать по аналогии

reset(f) ---> q:=1
s := read(f) ---> s := massiv[q];
s := readln(f) ---> s := massiv[q+1];

вообщем всё просто и сердито :)



#53004 Создание автотеста софта, до того как этот софт появился

Отправлено автор: Rumata 19 февраля 2008 - 11:39 в SmartBear (AutomatedQA) - Functional Testing

Привет Всем!

Есть ли у кого интересные идеи по этому вопросу?

Почему возникла идея написать...

Предложили мне такую штуку сделать, я сначала сказал что это в принципе не реально :)
Потом подумал и возникла идейка как это можно сделать.
идея вот в чём:
по СТПО(спецификация требований к программ обеспечен) пишется методика испытаний(ПиМИ)
Теперь составляю "файл ассоциации" эта такой файл где пишутся имена(собственно придуманные и удобные для звучания :)) предполагаемых кнопок, меток полей и др.
Потом по ПиМИ я составляю ещё один файл "файл сценария", и в нём пишу сценарий тестирования по ПиМИ.
Этот сценарий состоит из этих самых "имён" и пара десятка зарез. слов
И весь смысл того что в идеале когда придёт софт я только должен буду воткнуть в файле ассоциации напротив каждого придуманного имени, полное имя настоящего объетка на интерфейсе. и будет всё работать.
Данная система у меня более менее работает
НО
я на неё угрохал кучу времени
она на самом деле не такая уж замечательная как казалась вначале
:(
Вообщем я почти полностью разуверился в этой "Идее" и работаю с ней только потому что жаль потраченного времени и в этих скриптах неплохой набор процедур...
в принципе система неплохая, но она не окупает главного - того что автоматизация должна занимать меньше времени чем мануальное тестирование...

вот...

Если есть мысли по данному вопросу и по тому как я попытался это решить, скажите.



#53033 Создание автотеста софта, до того как этот софт появился

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

http://www.simplytes...rs/Articles.htm


эт конечно всё интересно, но я с английским не особо дружу чтоб литературу на нём читать :)



#48932 Работа с Уникодами

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

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

Да нет там вроде никаких ссылок на форум. Вот ветка, в которой вы сможете найти топик, о котором я говорил:

Using TestComplete | Testing With TestComplete | General Information | Support for Unicode

нашёл но не помогло то что там написанно, или я неправильно делаю...



#48829 Работа с Уникодами

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

Delphiscript
TC 5.12
Здравствуйте!
Возникла необходимость в тестовых случаях вводить буквы казахского шрифта, в системе он предустановлен.
В TC буквы алфавита вводятся нормально, но после сохранения от букв остаются одни вопросики :(
Тогда я сохранил набор символов в файле(.txt, кодировка UTF-8) и подтягиваю во время выполнения скрипта данные из него в переменную, но в лог опять же выводиться совсем не то да и в тестируемое приложение неизвестно что попадёт.
Подскажите пожайлуста как можно обойти эту проблему.



#48943 Работа с Уникодами

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

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

Насколько я понимаю, в справке написано что TestComplete может работать на 100% валидно только с одним Unicode'вым языком -- тем, который указан в 'Language for non Unicode programs'. Поддержка других языков в этом случае частичная.


Сделал не помогло, и в лог и в приложение(msword) пишет вопросы



#49105 Работа с Уникодами

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

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

А компьютер перегрузили? Это опция ('Language for non Unicode programs') действует только после перезагрузки компьютера.


Ну конечно! не настолько я же безнадёжен :-)



#50551 некорректный ввод данных

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

Использую
TC 5.12
delphiscript
тестируется веб интерфейс

Так вот ситуёвина такая у меня переменняя в которой записанно 1q2w!Q@W это пароль, когда я его ввожу в поле ввода пароля, восклицательный знак не вводиться, вводиться только 7 символов.

Кто-нить знает почему такое может быть, вручную всё вводится нормально