powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Selenium RC + Java
17 сообщений из 17, страница 1 из 1
Selenium RC + Java
    #35455353
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется следующая структура:

import com.thoughtworks.selenium.*;
import junit.framework.*;
import java.io.*;
import Methods.WaitAndAction;


public class LetterCreation extends TestCase {

private Selenium browser;

public void setUp() {
browser = new DefaultSelenium("localhost",
4444, "*firefox", "http://sproj-tst-0:8080");
browser.start();
}

public void testCreateOneLetter() throws Exception { ... }

public void tearDown() {
browser.stop();
}
}
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455368
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
// Чиорт, нажал Enter и опубликовал недописанную месагу... Продолжение вопроса

Данная структура открывает новое окно файрфокса и запускаем в нем тест... Реально ли сделать так, чтобы новое окно не открывалось, а тест выполнялся в уже зараннее открытом окне?
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455504
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по хелпы, вроде как нельзя

а можно поподробнее зачем это нужно?
selenium, между прочим, не только открывает firefox, но и конфигурит его нужным образом. Например, прописывает нужны прокси-сервер, включает javascripts и т.д.
наше все
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455607
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andaimсудя по хелпы, вроде как нельзя

а можно поподробнее зачем это нужно?
selenium, между прочим, не только открывает firefox, но и конфигурит его нужным образом. Например, прописывает нужны прокси-сервер, включает javascripts и т.д.


Да просто есть сложное веб-приложение для автоматизации документооборота. Есть конкретный процесс, создание писем в системе. Так вот, возникают две проблемы:

1. Из-за того, что нельзя приконнектится к уже созданной сессии, приходится при каждом новом запуске теста проделывать кучу лишних действий (залогиниться, настроить кое-какие опции, найти и перейти в нужную панель и т.п.). Но это из разряда неудобства.

2. Есть еще одна проблема: имеется циклический процесс - создается письмо, сохраняется, снова создается письмо. После сохранения письма приложение возвращается в то же окно, откуда начиналось создание первого письма. Тест пытается создать второе письмо, но почеу-то не может найти элементы (ни пункт меню, ни фрэйм). Кстати, то же самое и в Selenium IDE, после этогой ошибка приходится нажимать паузу и запускать тест дальше. Причем после нажатия на play элементы почему-то находятся без проблем. Вот и хотелысь бы решить эту проблему разрывом связи с сессией и подключением к ней заного.

Надеюсь ясно выразился...
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455758
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извратный способ, наверное, но все же предложу
можно сделать отдельный сервис для хранения вашего browser. Запускаете тест он берет browser c сервиса, либо создает новый. Соответственно при окончании теста, сохраняете ваш browser в сервисе, если он вам понадобится еще раз.
Реализуется, на мой взгляд, довольно просто
наше все
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455810
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andaimизвратный способ, наверное, но все же предложу
можно сделать отдельный сервис для хранения вашего browser. Запускаете тест он берет browser c сервиса, либо создает новый. Соответственно при окончании теста, сохраняете ваш browser в сервисе, если он вам понадобится еще раз.
Реализуется, на мой взгляд, довольно просто
наше все
Если можно, было бы здорово пример в студию...
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455819
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я на c# пишу, если надо могу на нем написать, синтаксис будет близок к джаве =) но это будет вечером, после работы
наше все
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35455826
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andaimя на c# пишу, если надо могу на нем написать, синтаксис будет близок к джаве =) но это будет вечером, после работы
наше все
конечно, можно и на шарпе... =)
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35457117
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, обрати внимание на ключь запуска сервера Selenium RC
-browserSessionReuse: stops re-initialization and spawning of the browser between tests
наше все
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35457397
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andaimкстати, обрати внимание на ключь запуска сервера Selenium RC
-browserSessionReuse: stops re-initialization and spawning of the browser between tests
наше все
Не помогло. Хоть браузер и не закрывается перед тестами, почему-то окно программы все равно сбрасывается.
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35457651
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пойму, почему в один момент Selenium без проблем кликает по элементу, а в другой точно такой же момент его найти не может, хотя элемент существует и 100% имеет такое же имя... Жесткий глюк... =(
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35458232
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Selenium IDE можно поставить на команде паузу (Toggle Breakpoint), на ней выполнение теста застопорится до нажатия на плэй.

Есть ли подобная весчь в Selenium RC?
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35460606
horror_nord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел неожиданное решение проблемы. Поставил команду selectWindow("null") - и все чудесным образом заработало. Элементы находятся, кликаются, в общем полная идилия =)
...
Рейтинг: 0 / 0
Selenium RC + Java
    #35774660
MoonRiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
horror_nord,

по поводу:
"Не пойму, почему в один момент Selenium без проблем кликает по элементу, а в другой точно такой же момент его найти не может, хотя элемент существует и 100% имеет такое же имя... Жесткий глюк... =("

если вы работаете с x-path-ссылками, то тут может быть 2 причнины:

1. Элемент присутствует на странице, но на момент выполнения действия (в данном случае - click) страница еще не прогрузилась до конца;

2. Фокус "в другой точно такой же момент" находится в другом фрейме. Требуется переместиться на фрейм с элементом (select frame).
...
Рейтинг: 0 / 0
Selenium RC + Java
    #36025238
BadMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги, кто может объяснить почему тест валится на waitforpagetoload при прогоне, код метода такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	public static void selectf(Selenium selenium) {
		selenium.waitForPageToLoad("30000");
		selenium.waitForCondition("selenium.isElementPresent(\"//span[text()='Cabinets']\")", "10000");
		selenium.click("//span[text()='Cabinets']");
		selenium.waitForPageToLoad("30000");
		//вот тут селениум пытается дождаться пока загрузится страница которая уже загрузилась
                //реально, но он этого не понимает и валится с ошибкой (см ниже)
		selenium.waitForCondition("selenium.isElementPresent(\"link=SP Dordrecht\")", "10000");

для написания и прогона тестов использую Selenium RC + Eclipse (CubicTest, JUnit). Пишу на Java.

текст ошибки думаю понятен, но всёже приведу:
"com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms"
...
Рейтинг: 0 / 0
Selenium RC + Java
    #36025341
BadMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по описанию команды waitforpagetoload если перед ней была любая другая команда, то он вообще не должен на ней виснуть так как флаг о том что страница загружена снят и проверка проходит заново...
...
Рейтинг: 0 / 0
Selenium RC + Java
    #36026043
BadMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, нашёл выход из положения...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
package trash;

import com.thoughtworks.selenium.SeleneseTestCase;
import com.thoughtworks.selenium.Selenium;

public class CheckElement extends SeleneseTestCase {
	public static void checkElementPresense(Selenium selenium,
            final String elementLocator) throws InterruptedException {
       for (int second =  0 ;; second++) {
            if (second >=  6 ) {
                 fail("timeout");
            }
            try {
                 if (selenium.isElementPresent(elementLocator)) {
                      break;
                 }
            } catch (Exception e) {
                 e.printStackTrace();
            }
            Thread.sleep( 1000 );
       }
  }
}

и

Код: plaintext
CheckElement.checkElementPresense(selenium, "actionmultiselectcheckbox_5");
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Selenium RC + Java
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]