Добрый день!
Я опять надеюсь на вашу помощь. Тестирую программу которая открывает уже созданные (другими программами) файлы и работает с ними.
Пишу тест-кейс, который выполняет открытие файла - это у меня получилось и работает. Далее возникла ситуация, когда при открытии файла выдается ошибка - например, файл другого формата или поврежден. Хотелось сделать так чтобы эта ошибка тоже как-то анализировалась. Для этого я добавила в тест-кейс проверку после открытия файла, было ли создано окно с ошибкой - если да, то выводить текст ошибки и закрывать окно.
Вот что у меня получилось:
[-] window DialogBox dError
[+] multitag "Error"
[ ] "$MessageBox[2]"
[+] PushButton OK
[+] multitag "OK"
[ ] "$2"
[+] CustomWin Icon1
[ ] msw tag "[Icon]$20"
[-] StaticText CanTOpenFile
[-] multitag " "
[ ] "$65535"
[-] testcase Open_file() appstate DefaultBaseState
[ ] Print("Step 1: From Main menu select File > Open")
[ ] wMain.SetActive()
[ ] wMain.File.MenuItem1.Pick()
[ ] Print(" Window Open - opens")
[ ] Print("")
[ ] Print("Step 2: Select and open file")
[ ] dOpen.SetActive()
[ ] dOpen.FileName.sValue="test file"
[ ] dOpen.Open.Click()
[ ] // Проверка, создано ли окно с ошибкой
[-] if(dError.Exists ())
[ ] Print (dError.CanTOpenFile.GetText())
[ ] dError.OK.Click()
[ ] Print(" File - opens")
[ ] wMain.File.MenuItem14.Pick()
[ ] Print ("Program - closes")
[ ]
[ ] Print("End of testcase")
Все работает, если ошибка действительно возникает. Но теперь, если файл открывается без ошибок, то при прохождении тест-кейса выдается ошибка:
*** Error: Window '[StaticText]$65535' was not found
Я догадываюсь из-за чего эта ошибка - при открытии файла показывается окно с процентами выполнения открытия. И Silk test, наверное, воспринимет это окно с прогресом, как окно с ошибкой, и пытается считать из него текст.
Как мне решить эту проблему? Или может есть какой-то другой способ отлавливать сообщения об ошибках и предупреждения?