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

Фотография

WaitForElement фейлится php+Bromine


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

#1 SeleniumTester

SeleniumTester

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

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

Отправлено 03 августа 2011 - 16:00

Здравствуйте.

Я использую функцию для ожидания элемента вот такую

public function waitForElementPresent($locator, $expectedSec)
{
for ($second = 0; ; $second++) {
if ($second >= $expectedSec) $this->fail("timeout");

try {
if ($this->isElementPresent($locator)) break;
sleep(1);
} catch (Exception $e) {}
}
}
Но когда я запускаю его через Bromine, то во время ожидания isElementPresent($locator) выдает фейлы и в итоге весть тест считается зафейленым. Если не юзать try а if например, всеравно фейлится. Возможно ли переписать эту функцию так, что б он фейлился только после того как прошло определенное время?
  • 0

#2 t0xa

t0xa

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

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

Отправлено 04 августа 2011 - 06:00

у Вас в коде закралась маленькая ошибочка (какой-то недочёт конвертации из Selenium IDE на PHP)

правильный вариант функции

public function waitForElementPresent($locator, $expectedSec) {
        for ($second = 0; $second >= $expectedSec; $second++) {
            if ($second >= $expectedSec)
                $this->fail("timeout");
            try {
                if ($this->isElementPresent($locator))
                    break;
            } catch (Exception $e) {
            } sleep(1);
        }
    }

  • 0


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

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