Перейти к содержимому

Фотография

увеличить время ожидания ответа


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#1 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 22 августа 2011 - 12:15

для ожидания окончания загрузки страницы я использую метод waitForPageToLoad().
время я выставляю 2 минуты. но иногда бывает такое что ждать нужно и 4 минуты.

Так вот проблема в том, что сколько бы я не выставляла в параметре метода waitForPageLoad(), тест прерывается через полторы минуты ожидания с ошибкой: нет ответа от селениум сервера. если страница загружается быстрее чем полторы минуты, то все работает нормально.

может кто нибудь знает где можно еще выставлять время ожидания ответа от страницы для сервера? может где то в исходниках можно поменять его?
  • 0

#2 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 22 августа 2011 - 12:18

есть метод setTimeout( milliseconds )
  • 0
In God we trust, the rest we test.

#3 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 22 августа 2011 - 12:23

это эквивалентно sleep(milliseconds)? я таким пробовала пользоваться, но мне нужно именно дождаться окончания загрузки страницы. потому что одна и та же страница может грузиться разное количество времени. и получается что в одном сеансе она грузится 30 секунд, а в другой раз будет грузиться около 4 минут....
  • 0

#4 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 22 августа 2011 - 12:34

Нет, этот метод устанавливает именно тот таймаут, который вам нужен. Просто установить его нужно в самом начале теста, или хотя бы перед первой загрузкой "проблемной" страницы
  • 0
In God we trust, the rest we test.

#5 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 23 августа 2011 - 12:57

не могу найти в php эту функцию.... а какие еще варианты есть?

после 1,5 минуты вот какая ошибка: PHPUnit_Framework_Exception: Could not connect to the Selenium RC server

и тогда еще такой вопрос, я просто не совсем понимаю, почему сколько бы времени я ни указывала в параметре waitForPageToLoad(), все равно больше 1.5 минуты ожидание не работает?
  • 0

#6 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 23 августа 2011 - 13:48

Почитала в интернетах. Есть у пхп такой метод
void setTimeout(int $timeout) - Set the timeout for the connection to the Selenium RC server.

http://www.phpunit.d...n/selenium.html
Вот здесь его видела

сколько бы времени я ни указывала в параметре waitForPageToLoad()

Потому что в этом методе как раз используется таймаут селениума, а не кастомный.
  • 0
In God we trust, the rest we test.

#7 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 23 августа 2011 - 13:53

ооо.... спасибо большое! видимо я как то невнимательно искала в инете. да и нетбинс мне этого метода не показывает...
  • 0

#8 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 23 августа 2011 - 15:01

ооо.... спасибо большое! видимо я как то невнимательно искала в инете. да и нетбинс мне этого метода не показывает...


yaw)
  • 0
In God we trust, the rest we test.

#9 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 26 августа 2011 - 11:15

подниму опять тему...
функция setTimeout не работает к сожалению, какой бы параметр я не проставляла.
саму функцию писала и в блоке setUP, там где задаю браузер и URL, и пробовала прямо перед проблемным местом прописывать setTimeout(10000000).
все равно, спустя 1 минуту 25 секунд тест валится с ошибкой "Could not connect to the Selenium RC server"

страница, на которой валиться тест реально долго грузится: около 2-3 минут, потому что там выполняется большое количество запросов.
что делать?)
  • 0

#10 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 26 августа 2011 - 11:49

Возможно проблема в чем-то другом. А какой порт вы используете? Проходили ли тесты раньше?






  • 0
In God we trust, the rest we test.

#11 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 26 августа 2011 - 11:56

да код бы вообще глянуть
  • 0

#12 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 26 августа 2011 - 13:23

порт: 4444

тесты все проходят, если ждать загрузки страниц надо меньше одной минуты 25 секунд

код теста выглядит так:
<?php

require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class create_users extends PHPUnit_Extensions_SeleniumTestCase {
    
    function setUp() {
        $this->setBrowser("*firefox");
        $this->setBrowserUrl("http://beta.test.lan/");
        $this->setTimeout(10000000);
        
    }

    function testMyTestCase() {
//-----------------вход в систему
        $this->open("/");
        $this->LoginUser("admin", "admin"); // вход под админом

       $this->GoToMenu($this->menu_tools, $this->tools_admin, $this->tools_admin_users_rights); // переход в нужное меню
       $this->waitForPageToLoad(600000);
       $this->clickAt($this->department_1); // переход к нужному подразделению
       $this->clickAndWait($this->user_pict); // выбор пользователя
       $this->waitForPageToLoad(600000);

//--------------назначение выбранному пользователю всех прав       
           $this->clickAt("//table[@id='rights_for_administration']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_document_init']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_document_control']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_document_paste']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_routes']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='global_rights_for_groupsrights']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_taskstemplates']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_plugins']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_on_dictionary']//tbody//tr[1]//td[1]//input");
           $this->clickAt("//table[@id='rights_on_tasktype']//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_on_calendar']//tbody//tr[1]//td[1]//input");
           $this->clickAt("//table[@id='rights_for_outerUserGroup'][1]//tbody//tr[1]//td[2]//input");
           $this->clickAt("//table[@id='rights_for_outerUserGroup'][2]//tbody//tr[1]//td[2]//input");
//-------------------сохранение изменений
           $this->clickAt("//input[@value='Сохранить']");
           
           $this->waitForPageToLoad(600000);
           $this->assertTrue($this->isElementPresent("//div[text()='Изменения сохранены']"));
}
}


вот собственное на предпоследней строчке ($this->waitForPageToLoad(600000);) и обрывается тест. он ждет ждет пока страница загрузится, а потом завершается с ошибкой:
PHPUnit_Framework_Exception: Could not connect to the Selenium RC server.
  • 0

#13 ekulgavaya

ekulgavaya

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 26 августа 2011 - 13:44

Похоже, это не проблема Seleniuma
http://netbeans.org/...g.cgi?id=190086
http://saucelabs.com...topic.php?id=65
  • 0
In God we trust, the rest we test.

#14 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 26 августа 2011 - 13:53

у меня в нетбинсе встроенный селениум сервер отключен вообще. я его не использую. на компе стоит отдельно Selenium RC с официального сайта, я его через командную строку запускаю...
  • 0

#15 499356863

499356863

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 28 августа 2011 - 11:59

Напиши соответствующий метод и вызывай когда требуется,в чём проблема?
  • 0

#16 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 29 августа 2011 - 05:07

а можете, пожалуйста, объяснить? не совсем понимаю какой метод....
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных