Обработка Alert в RC

Всем привет. Я только начал познавать автоматизацию в RC (Java). Столкнулся с проблемой обработки Alert. Надеюсь на вашу помощь.

Исходные данные - есть страница с формой Логин, пароль, мыло и кнопкой сабмит. После ввода всех данных и нажатия кнопки выскакивает Alert.

задача - считать алерт и сравнить его с некоторым текстом. Т.е. если они совпадают, то тест выполнен правильно. Уже вторые сутки бьюсь, нифига не выходит, тесты не проходят. Т.е. не видит алерта и все.

В Eclipse мой код выглядит так:

{syntaxhighlighter brush: java;fontsize: 100; first-line: 1; }package com.example.tests;

import com.thoughtworks.selenium.*;

import java.util.regex.Pattern;

public class test1 extends SeleneseTestCase {

public void setUp() throws Exception {

	setUp("C:\testpage.html", "*googlechrome");

}

public void testTest1() throws Exception {

	selenium.open("/");

	selenium.type("name=email", "test@test");

	selenium.type("name=login", "12345");

	selenium.type("name=pass", "12345");

	selenium.click("css=input[type=\"submit\"]");

	selenium.waitForCondition("selenium.isAlertPresent()", "1000");

	assertTrue( selenium.isAlertPresent() );

    assertEquals( selenium.getAlert(), " Недопустимая длина поля " );

	}

}

}{/syntaxhighlighter}

package com.example.tests;
import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
public class test1 extends SeleneseTestCase {
public void setUp() throws Exception {
setUp(“http://test.artox.by/”, “*googlechrome”);
}
public void testTest1() throws Exception {
int loopvar = 1;
do {
selenium.open(“/”);
selenium.type(“name=email”, “test@test”+ loopvar);
selenium.type(“name=login”, “12345”);
selenium.type(“name=pass”, “12345”);
selenium.click(“css=input[type="submit"]”);
selenium.waitForCondition(“selenium.isAlertPresent()”, “1000”);
assertTrue( selenium.isAlertPresent() );
        assertEquals( selenium.getAlert(), “This is Alert” );
loopvar = loopvar + 1;
}
while (loopvar <= 10);
}
}

 

 

Привожу листинг тестируемой страницы: 

{syntaxhighlighter brush: xml;fontsize: 100; first-line: 1; }<HTML>
<META http-equiv=Content-Type content=“text/html; charset=windows-1251”>
<head>
</head>
<body>
<form id=“myForm” action=“add.php” method=“post”>
<table>
<tr><td>email</td><td><input type=“text” name=“email”></td></tr>
<tr><td>Логин</td><td><input type=“text” name=“login”></td></tr>
<tr><td>Пароль</td><td><input type=“text” name=“pass”></td></tr>
</table>
<input type=“submit” value=“Регистрация” />

&lt;/form&gt;
&lt;div id="result" style="padding:5px;"&gt;
&lt;/div&gt;

&lt;script type="text/javascript"&gt;
parts=String(document.location).split("?",2)[1].split("&amp;");
GET={};
for (i=0; i&lt;parts.length; i++) {
 curr = parts[i].split('=');
 GET[curr[0]] = curr[1];

 if (curr[1] == 1) { alert('Вы успешно зарегестрированны')}
 if (curr[1] == 2) { alert('Неверно ведён Логин')}
 if (curr[1] == 3) { alert('Неверно ведён Пароль')}
 if (curr[1] == 4) { alert('Заполните поле Логин')}
 if (curr[1] == 5) { alert('Неправильно введён email')}
 if (curr[1] == 6) { alert('Введите все поля')}
 if (curr[1] == 7) { alert('Ошибка!')}
 if (curr[1] == 8) { alert('Вы уже зарегестрированы')}
 if (curr[1] == 9) { alert('Недопустимая длина поля')}
}

&lt;/script&gt; 

&lt;/script&gt;
&lt;/body&gt;

</html>{/syntaxhighlighter}

скопировал ваш html код и у меня не всплывает алерт

также по коду не вижу, где javascript вызывается, т.е. точка входа

уточните пожалуйста

тут есть еще одна особенность, если алерт загружается до onLoad() события, то вы не сможете его перехватить

может быть у вас этот случай, так javascript находиться в body элементе

загрузка страницы идет сверху вниз, т.е. javascript выполниться, а потом body и только тогда страница полностью загрузиться 

увы Selenium RC не умеет это обрабатывать

Приведу тогда не листинг, а готовую страницу: http://test.artox.by

Я пытаюсь выловить и сравнить алерты с данной страницы. Возможно ли это?

с помощью Selenium RC это сделать невозможно, javascript отрабатывает до полной загрузки страницы

тут надо подключать AutoIt для решения этой проблемы

Большое спасибо за ответ, а то уже всю голову сломал. 

Возможно, Вам будет интересен следующий топик, тут описывается обработка File Upload, при помощи Robot:
upload file error
http://automated-testing.info/forum/upload-file-error#comment-1100
+ Большинство людей, кого я знаю, обрабатывают сообщения от браузера при помощи AutoIt либо AutoHotkey.

Возможно, Вам будет интересен следующий топик, тут описывается обработка File Upload,

при помощи Robot: upload file error

 

+ Большинство людей, кого я знаю, обрабатывают сообщения от браузера при помощи AutoIt либо AutoHotkey.

ламать голову не надо :) , просто пишите на форум, мы вам коллективно поможем

Это очень грубая ошибка, делать такой вызов JS

Лучше сделаей вызов функции в теге form, при событии onSubmit.

Например onsubmit="return formCheck(this);" А JS поместите в эту функцию. Тогда Alert вызовется еще до сабмита вашей формы и Selenium сможет его нажать.