1) В зависимости от того, какой тип распознавания объектов вы выполняете, могут быть заметные различия в зависимости от того, сколько windows открыто на windows рабочем столе .
Может Как бы то ни было, в ваших Windows 10 сеансах есть еще windows открытых, возможно, невидимых, которые UFT необходимо учитывать при поиске объектов тестирования верхнего уровня.
Например, открытие четырех ненужных (и не мешающих) экземпляров браузера и четырех экземпляров обозревателя сильно влияет на производительность моих сценариев во время выполнения. Таким образом, я проверяю, что всегда запускаю одно и то же базовое состояние перед выполнением теста.
Чтобы проверить, вы можете закрыть все, что вам не нужно, и посмотреть, улучшится ли время выполнения.
2) Используете ли вы RegisterUserFunc
для вызова ваших функций в качестве методов? Этот API имеет большую дыру в производительности : в зависимости от того, сколько у вас библиотечного кода (независимо от того, где и какой код), такие вызовы методов могут занять больше времени, чем вы ожидаете. Я видел сценарий ios, где у нас было достаточно кода, чтобы один вызов занимал почти секунду (850 миллисекунд) на мощной машине. Исправление состояло в том, чтобы избежать вызова функции как метода, который отстой, потому что вы должны переставить все такие вызовы, но на сегодняшний день мы все еще ждем исправления, после того как нам потребовались месяцы, чтобы доказать MicroFocus, что этот симптом действительно реален и действительно фатально, потому что по мере добавления библиотечного кода производительность снижается все дальше и дальше, очень маленькими шагами. (Здесь нет зависимости Windows 10.)
3) Отключить интеллектуальную идентификацию. Он может воспроизводиться нормально, но может потребоваться некоторое время, чтобы выяснить, какой «умный» вариант идентификации работает. Если ваши сценарии не работают без смарт-идентификатора, вы должны их исправить в любом случае, потому что ваши сценарии никогда не должны полагаться на интеллектуальную идентификацию.
4) Отключите новую функцию XPath, где UFT автоматически создает XPath, и повторно использует этот XPath в режиме без вывода сообщений. ускорить обнаружение. В некоторых случаях он полностью портит идентификацию объекта: скрипт обнаруживает неправильный элемент управления или тратит много времени на обнаружение элементов управления.
5) Попробуйте скрыть экземпляр UFT. Это было повышение производительности в течение многих лет , и я думаю, что это все еще, см. Операции с данными QTP * чрезвычайно * медленные (намного лучше при работе с пакетным исполнителем MMDRV)? для получения информации об этом, и более.
6) Некоторые операции занимают много времени, неожиданно . Например, Почему установка переменной среды USER занимает 12 секунд? меня полностью удивило.