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

Публикации XXX

8 публикаций создано XXX (учитываются публикации только с 29 марта 2023)


#145799 Оценка тестировщиков

Отправлено автор: XXX 06 ноября 2015 - 17:20 в Управление тестированием

Всем привет!

Поставлена задача разработать схему премирования сотрудников отдела тестирования по срезам месяц\квартал\год. Может у кого-то уже есть подобные схемы?)Или кто может подсказать на тему оценки тестировщиков?




#145502 Запуск отдельного Test item из командной строки

Отправлено автор: XXX 28 октября 2015 - 12:17 в SmartBear (AutomatedQA) - Functional Testing

Пытаюсь запустить по инструкции http://support.smart...warticle/54655/ .

Со своей машины, через TestComplete, все отлично запускается.

Строка запуска

ATR.js "C:\Program Files (x86)\SmartBear\TestComplete 10\Bin\TestComplete.exe" "testcomplete\Marathon.pjs" /r /p:Master /t:Mobile /e /SilentMode

Но с виртуалки, через TestExecute, получаю ошибку (см скрин)

Строка запуска c TestExecute

ATR.js "C:\Program Files (x86)\SmartBear\TestExecute 10\Bin\TestExecute.exe" "testcomplete\Marathon.pjs" /r /p:Master /t:Mobile

Может кто сталкивался ?

Прикрепленные изображения

  • js.png



#141180 Получение таблицы Call Stack вызовов во время ошибки из тестов

Отправлено автор: XXX 18 мая 2015 - 10:52 в SmartBear (AutomatedQA) - Functional Testing

 

Не совсем понял, что ты имеешь ввиду и чем тебе не нравится Additional Info - это всего лишь инструмент и он выводит в логи ровно то, Log.Message("", "что ты ему укажешь").

Логи можно посмотреть в ходе выполнения тестов, нажав паузу. Может ли TestExecute автоматически поставить выполнение теста на паузу при ошибке - не помню.

 

Вообще, поясни каким образом у тебя происходит логирование.




 

Additional Info абсолютно неинформативная вещь без Call Stack..Вариант с паузой также не годится - прогон и так идет более 6 часов, если еще и будет останавливаться на каждом падении, то мы никогда не дождемся окончательного результата)).

 

 

Такой возможности сейчас нет, но у СмартБеар давно висит запрос на такую фичу.

Можешь создать тему на их форуме и они добавят +1 для фичи, таким образом увеличивая шанс, что ее заимплементят :)

 

Но фича была запрошена давно и пока никаких подвижек нет

Попробуем плюсануть) Спасибо




#141176 Получение таблицы Call Stack вызовов во время ошибки из тестов

Отправлено автор: XXX 18 мая 2015 - 10:15 в SmartBear (AutomatedQA) - Functional Testing

Появилось желание собирать больше инфы по упавшим тестам, чем их названия и Additional Info. Во время прогона тестов (в 10 потоков) идет формирование специальной html странички, где можно в реальном времени видеть на какой виртуалке какие тесты падают. Было бы здорово выводить по каждому падению и таблицу Call Stack для более быстрой оценки проблемы, нежели делать это после окончания прогона (часов через 6-7) через лог TestExecute. Интересует таблица именно с номерами строк 




#141087 Покритикуйте код поиска объекта, пожалуйста

Отправлено автор: XXX 08 мая 2015 - 21:42 в SmartBear (AutomatedQA) - Functional Testing



function findEngine(variable, property, depth, mainObj)

Проверяется depth на null, было бы здорово и mainObj ..да и поменял бы местами с depth



var result = mainObj.FindAllChildren(variable, property, depth);
      result = (new VBArray(result)).toArray(); //здесь периодически появляется ошибка и ругается на VBArray
      if (result.length > 1)  {
            Log.Warning("Надено более 1 объекта методом FindAllChildren. По умолчанию выбран первый объект. Необходимо уточнить поиск в findObj. Найдено объектов: " + result.length);
      }
    return result.length == 0?findEngineReserv(variable, property, depth, mainObj):result[0];

я бы заменил на что-то более простое 



return mainObj.Find([property, "Visible"], [value, "True"], depth);

да и скорее бы переименовал метод в getObj =)

 

Метод findEngineReserv переименовал бы в WaitObj и применял бы отдельно там, где нужно действительно ожидать, а не каждый раз, когда объект не существует. Два цикла while можно смело объеденить в один вставив перед if свой Refresh()..задача же стоит определить объект и работать с ним далее, а не узнать на каком "этапе резервного поиска" он определяется с помощью TC. К тому же если он у тебя находится, то отрабатывает return объекта внутри цикла, поэтому Log.Warning("Объект найден с затруднениями") нужно заменить на Log.Error("Искомый объект не найден..")

 

В методе findObj(searchObj) заместо свойства VisibleOnScreen использовал бы Visible, иначе могут быть проблемы при работе с несколькими приложениями (например, программа + веб). Одна программа перекрывает другую, со св-вом VisibleOnScreen объект второй не найдется, в отличие от Visible




#140032 ProjectLog - Messages Panel

Отправлено автор: XXX 18 марта 2015 - 12:54 в SmartBear (AutomatedQA) - Functional Testing

Для сообщений типа Message по умолчанию и так пусто, детали показываются только для Error

Чтобы были детали для данного типа нужно их включить - Log.CallStackSettings.EnableStackOnMessage = True

 

пример для Error

 

Прикрепленные изображения

  • qwer.png



#140022 ProjectLog - Messages Panel

Отправлено автор: XXX 18 марта 2015 - 11:45 в SmartBear (AutomatedQA) - Functional Testing

Для начала кликнуть в окне Log Items на нужный Test Log..потом для каждого типа Message можно просматривать детали в том самом выделенном окне 

 

 

Как использовать выделенную область на картинке? В Справке есть только описание, что туда выводится, но нет никаких примеров каким образом это делается.




#139998 Объясните WaitSwingObject()

Отправлено автор: XXX 17 марта 2015 - 22:09 в SmartBear (AutomatedQA) - Functional Testing

Скорее всего нужно писать свой метод ожидания контрола

что-то типо 

function WaitObj(mainObj, property, time)
{
    if (time == null) 
        time = 5000;
    
    if (!mainObj.Exists)
        Log.Error("mainObj не найден");
    
    var temp = 0;
    while (temp < time) {
        obj = mainObj.FindChild([variable, "Enabled"], [property, true], 30);  
        
        if (obj.Exists)
            return obj;
        
        Delay(1000);
        temp+=1000;
        mainObj.Refresh();
    }
    
    Log.Error("По истечении " + (time/1000) + "сек. объект не находится");
}

 

 У меня есть общая функция для поиска объектов в динамическом дереве
var mainObj = Sys.WaitProcess("javaw", 20000);
var resultObj = mainObj.FindChild(variable, property, 30);
return resultObj;
Но функция часто не проходила и выдавала ошибку, объекты не успевали отрисовываться, 
С resultObj.WaitProperty("Enabled", true, 20000) стало немного легче, но ошибки все равно были.
 
Возможно ли, что WaitSwingObject будет справляться лучше? (ссылка на smartbear http://support.smart...warticle/61047/)