Идентификация активности сенсорного экрана с использованием UFT

Нужна помощь, чтобы решить проблему. У меня есть приложение, работающее через UFT, которое является простым веб-приложением. Я подключаю свой ноутбук к монитору с сенсорным экраном, чтобы мой начальник мог проверять прогресс, отображаемый в этом приложении, используя простое касание и навигацию, а не щелчки мышью.

Мне нужно отображать определенный вид в течение 10 минут, и если я не получаю никаких сенсорных действий на экране в течение этих 10 минут, мне нужно изменить вид и перейти на следующую страницу. если в приложении есть активность (простая прокрутка или нажатие или увеличение), мне нужно подождать еще 10 минут и перейти на следующую страницу. Как мне сделать это с помощью UFT? Как мне сообщить UFT, что в приложении была активность, и, следовательно, "не" перейти на следующую страницу еще на 10 минут?

Все объекты на странице являются обычными идентифицируемыми объектами UFT, такими как Weblink, WebElement и т. Д., Но действие может происходить даже в более широком контексте (если пользователь решает просто увеличить масштаб - как это происходит на любом смартфоне)

Пожалуйста, помогите мне, дав несколько указателей.

1 ответ

Это на самом деле не то, что UFT намеревается сделать, но это может быть достигнуто с помощью UFT Browser.EmbedScript / RunScript функциональность.

Поместите следующий код в файл JS (например, C:\timeStamp.js).

['touchstart', 'touchmove', 'touchend', 'touchcancel'].forEach( function(eventName) {
    window.addEventListener(eventName, function () {
        window._lastTouchEvent = new Date().getTime();
    }, true);
});

if (!window._lastTouchEvent)
    window._lastTouchEvent = new Date().getTime(); // Initialize to when the script was loaded

function minutesSinceLastTouch() {
    var diff = new Date().getTime() - window._lastTouchEvent;
    return diff / (60 * 1000); // Convert MS to minutes
}

Теперь функция minutesSinceLastTouch доступно для RunScript использовать.

Browser(B).EmbedScriptFromFile "C:\timeStamp.js"
elapsed = 0 ' How much time since last touch
Do While elapsed < 10       
    Wait (10-elapsed)*60 ' Wait till 10 minutes after last touch
    elapsed = Browser(B).Page(P).RunScript("minutesSinceLastTouch()")                   
Loop
Print "Loop exited, move to next page"
Другие вопросы по тегам