Идентификация активности сенсорного экрана с использованием 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"