Как справиться с всплывающими окнами «Unresponsive Script», управляющими Firefox с помощью watir-webdriver - PullRequest
1 голос
/ 25 января 2012

Это всплывающее окно убивает многие из моих тестов. Даже простые взаимодействия DOM, такие как .exists? тайм-аут. Есть ли способ обнаружить, что он появился, и отклонить его?

Warning: Unresponsive script.

A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete.

dom.max_script_run_time = 999

dom.max_chrome_script_run_time = 19

Эти сайты не разработаны и не подвержены влиянию меня. Я просто собираю и отправляю им инструкции как клиент.

1 Ответ

1 голос
/ 25 января 2012

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

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;   AutoIt Version:     3.1.0                                               ;
;   Author:             Dave McNulla                                        ;
;   Script Function:    Close unwanted popups during test automation.       ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Opt("GUIOnEventMode", 1)  ; Change to OnEvent mode
Opt("WinTextMatchMode", 1)  ;0=best, 1=quick
Opt("WinTitleMatchMode", 2)     ;1=start, 2=subStr, 3=exact, 4=advanced
Opt("TrayIconHide", 0) ;0=show, 1=hide
Opt("TrayMenuMode", 0) ;0=default
TraySetIcon("Shell32.dll", 98)

dim $SleepTime = 2000
dim $Max = 100

$Message = "{ENTER}"
$ButtonClick = "[CLASS:Button; TEXT:OK]"
$Title = "[CLASS:#32770;TITLE:Internet Explorer]"

While 1
    If WinExists($Title) Then
        WinActivate($Title)
        Sleep($SleepTime)
        ControlClick($Title, "", $ButtonClick)
    EndIf
    Sleep($SleepTime)
    If $Max < 1 Then Exit(1)
WEnd
...