Столкнулся с проблемой неправильного определения типа приложения (а также объектов).
Что было: проект по тестированию Web-приложения на Functional Tester работал без запинок.
Web-приложение в ObjectMap определялось как HTML: Browser.
Все объекты, соответственно, валидные, определись и использовались тестером.
Что стало: объекты не определяются во всём проекте => не используются => тест падает.
Ошибка из консоли:
Exception occurred during playback of script [RP_FEE.Another_Objects] [CRFCN0019E: RationalTestScriptException on line 81 of script RP_FEE.Another_Objects - java.awt.HeadlessException: null.].Ошибка из лога:
*** FAIL 22 апреля 2010 г. 15:51:25 GMT+04:00 RP_FEE.Another_Objects.testMain had an unhandled exception. exception_context = click() called on GuiTestObject(Name: button_userPng, Map: userPng). exception_name = java.awt.HeadlessException exception_message = null script_name = RP_FEE.Another_Objects script_id = RP_FEE.Another_Objects.java line_number = 81 exception_stack = at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:285) at com.rational.test.ft.domain.html.HtmlGuiProxy.getClippingParentRectangle(HtmlGuiProxy.java:1006) at com.rational.test.ft.domain.html.HtmlGuiProxy.isInView(HtmlGuiProxy.java:1216) at com.rational.test.ft.domain.html.HtmlGuiProxy.click(HtmlGuiProxy.java:158) at com.rational.test.ft.domain.html.HtmlGuiProxy.click(HtmlGuiProxy.java:147) ------------------------------ ------------------------------ at com.rational.test.ft.object.interfaces.GuiTestObject.click(GuiTestObject.java:418) at RP_FEE.Another_Objects.testMain(Another_Objects.java:81) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:996) at org.eclipse.core.launcher.Main.main(Main.java:971)Скрипт с момента его работоспособного состояния не менял, ObjectMap у этого скрипта не трогал.
Что делал в промежутке между "работает - не работает":
Записал другой скрипт для тестирования страницы на AJAXe. Скрипт не выполнялся при дефолтных настройках
(просто не находились объекты).
В хелпе прочитал, что для этого надо сделать:
Open the functional test script that needs to be modified for enabling the AJAX support.
Click Script > Open Test Object Map. Select the Document control from the list and click Administrative tab.
Replace the Test Object Class Name value from GuiTestObject to DocumentTestObject. Save and close the Test Object Map.
Click Script > Update Script Helper
"Win: Window:"
в то время как до этого приложение определялось верно:
"Html: Browser: "
Ещё изменения, которые возникли "вдруг":
1) Все объекты во всех скриптах стали определяться как
_ДругиеОбъектыlink().click(atName(" Другие объекты"), atPoint(22,7));
и при этом не обнаруживаются в приложении.
Раньше этот же объект в этом же скрипте определялся так:
link_ctl00_A1().click();
и обнаруживался в приложении. P.S. сейчас и он не обнаруживается.
2) добавление нового объекта в любом ранее рабочем скрипте добавляет его в новый тип приложения "Win: Window:" в ObjectMap
По поводу "неопределения объектов" делал поиск на этом форуме и нашёл только одну похожую тему: RFT и кириллица
Но от проблемы, к сожалению, не избавился.
Подскажите, пожалуйста, в чём я напортачил, и как хотя бы вернуть в рабочее состояние всё, что работало.
Или хотя бы в какую сторону рыть, чтобы вернуть всё, как было.
P.S. Если дал недостаточно информации или в не совсем удобоваримом виде, извините, это мой первый вопрос здесь. HOWTO читал.