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

modbear

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

#100737 тестирование flash-приложений методом черного ящика

Написано modbear 08 февраля 2012 - 16:20

Если даже отбросить тот факт,что он недешев и только для windows (ie, firefox),то тут написано:

To test Flash applications, TestComplete needs to get scripting access to the applications' internals. Currently, you can get access to Flash applications and make them testable in four ways. You can --

  • Use the FlashInjector.swf helper module shipped along with TestComplete and run applications in the debug version of Adobe Flash Player.
  • Run Flash applications under the Runtime Loader helper application included in the TestComplete package.
  • Include the FlexClient library shipped along with TestComplete in Flash applications.
  • Use the Microsoft Active Accessibility (MSAA) engine for testing Flash applications.

Получается,что это не тестирование черного ящика... правда про последний способ пока что не догнала еще..

Формулировки действительно не очень понятные, но в 1 и 4 способе не требуется ничего делать с самими флеш-приложениями (менять код, компилировать с дополнительными библиотеками, запускать особым образом или т.п.). При этом отдельные объекты внутри флешек - кнопки, надписи, MovieClip и т.п. - распознаются нормально, я бы даже сказала очень детально. Т.е. можно кликать конкретные объекты, а не просто по координатам. Вот, например, как распознается баннер на сайте Adobe.
testcomplete-flash.png
  • 1


#99736 Тормозит при запуске в remote desctop connection

Написано modbear 19 января 2012 - 06:54

Если сворачиваю удалённый рабочий стол, вообще падают.

Чтобы тесты нормально выполнялись в свернутом RDC, надо в реестре на вашем домашнем компе прописать специальный флаг:
TestComplete Tip: Running Tests in Minimized Remote Desktop Windows 
  • 1


#99661 Как отловить ситуацию доступности Log

Написано modbear 17 января 2012 - 10:45

Например любой вызов Log.что_угодно вызывает ошибку "Недопустимое число аргументов или присвоение значения свойства: 'Log' "
даже проверка
if aqObject.IsSupported(Log, "Error") then
или
if IsObject(Log) then
выдают туже ошибку

Подозреваю, что ошибка из-за того, что в VBScript есть встроенная функция Log, и при отсутствии TestComplete'овского объекта Log скриптовый движок считает идентификатор Log именем функции, поэтому и ругается на отсутствие параметров для вызова этой функции.


Как вам такой вариант? -
* добавить в код extension'а какой-нибудь вспомогательный флаг доступности лога, например, LogIsAvailable;
* в коде функций в extension'е проверять значение этого флага:
If LogIsAvailable Then
  Log.Message "test"
Else
  aqDlg.ShowMessage "test"
End If
* при вызове функций из DesignTimeAction и RecordAction устанавливать этот флаг в False, а при вызове функции из RuntimeObject устанавливать этот флаг в True. 
  • 1


#99609 Сравнение в test complete тектовых значений полей в разных копиях прог

Написано modbear 16 января 2012 - 07:30

Если свойство text возвращает .NET'овскую строку, т.е. объект System.String, то его надо сконвертировать в обычную строку, используя свойство OleValue:
if n1.text.OleValue <> n2.text.OleValue then begin


  • 1


#97319 Медленно работает метод FindChild

Написано modbear 18 ноября 2011 - 15:08

var form = Sys.Process("vfp8").Form("SCREEN");
var button = form.FindChild("Caption",param,100);

Подозреваю, что тормоза из-за того, что вы используете глубину поиска 100. Попробуйте свести это число к минимуму. Например, если вы точно знаете, что между Form("SCREEN") и Button(caption_кнопки) всего 1 контейнер, то используйте глубину поиска 1. Если не более 2х контейнеров - 2 и т.п.
  • 1


#96358 Можно ли в 1 проекте иметь скрипты организованныена разных моделях?

Написано modbear 28 октября 2011 - 10:41

По-идее, можно, т.к. есть возможность менять веб-модель по ходу выполнения теста:
Options.Web.TreeModel = "Tag";
// do something...

Options.Web.TreeModel = "Tree";
// do something else...

  • 1


#95286 Диспетчер задач

Написано modbear 07 октября 2011 - 07:57

Можно еще покопаться в WMI, думаю, что и там статусы должны найтись.

В WMI, по-моему, такого нет, зато есть в .NET:
// JScript
var p = Sys.Process("Explorer");
var dotNETprocess = dotNET.System_Diagnostics.Process.GetProcessById(p.ID);
if (! dotNETprocess.Responding)
{
  // Процесс не отвечает
}
Надо добавить System.dll в проектные настройки CLR Bridge. Источник.
  • 1


#84550 Проблемы с Object Browser-ом в TestComplete-e

Написано modbear 17 февраля 2011 - 14:43

Попробуйте вот этот патч.
  • 1