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

Фотография

Как сделать паузу или задержку?


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

#1 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 21 января 2011 - 09:17

на загруженной странице, через 30 секунд появляется кнопка, мне нужно её нажать

пробовал waitForPageToLoad("30000") и setTimeout(30000) оба метода не сработали
  • 0

#2 SMakc

SMakc

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

  • Members
  • Pip
  • 56 сообщений
  • ФИО:Максим
  • Город:Москва

Отправлено 21 января 2011 - 09:29

А почему бы не ждать появление кнопки?
  • 0

#3 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 21 января 2011 - 09:42

А почему бы не ждать появление кнопки?

в том то и проблема, что как раз подождать не получается, тест валится в еррор потому что кнопки нет, незнаю как выставить тайм аут, почитав форум пока использую setSpeed("5000")
  • 0

#4 popo_kid

popo_kid

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

  • Members
  • PipPip
  • 79 сообщений

Отправлено 21 января 2011 - 09:49

методы IsElementPresent и WaitForCondition вам помогут.
Обратите внимание, что в состав клиентского драйвера (в вашем случае для PHP) входит так же хелп, с описанием доступных методов
  • 0

#5 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 21 января 2011 - 09:51

Используйте встроенный механизм самого языка, например для C# пауза выглядит так:
Thread.Sleep( 5000 );

Но лучше, как уже написали выше дожидаться появления элемента, так надежнее:
selenium.waitForCondition("selenium.isElementPresent("locator")", 5000);

  • 0

#6 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 21 января 2011 - 10:04

Используйте встроенный механизм самого языка, например для C# пауза выглядит так:

Thread.Sleep( 5000 );

Но лучше, как уже написали выше дожидаться появления элемента, так надежнее:
selenium.waitForCondition("selenium.isElementPresent("locator")", 5000);


попробовал так
$this->selenium->waitForCondition($this->selenium->isElementPresent("link=Задать критерии"),"30000");

получил туже ошибку, element not found test terminated
  • 0

#7 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 21 января 2011 - 10:10

попробовал так
$this->selenium->waitForCondition($this->selenium->isElementPresent("link=Задать критерии"),"30000");

Попробуйте так:
$this->selenium->waitForCondition("selenium.isElementPresent('link=Задать критерии')","30000");

  • 0

#8 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 21 января 2011 - 10:44


попробовал так
$this->selenium->waitForCondition($this->selenium->isElementPresent("link=Задать критерии"),"30000");

Попробуйте так:
$this->selenium->waitForCondition("selenium.isElementPresent('link=Задать критерии')","30000");

спасибо помогло
  • 0

#9 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 21 января 2011 - 10:56

дабы не плодить новых тем продолжу здесь

можно в скрипт теста добавить выполнение батника?
  • 0

#10 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 21 января 2011 - 11:04

дабы не плодить новых тем продолжу здесь

можно в скрипт теста добавить выполнение батника?


http://www.php.net/m....shell-exec.php
  • 0

#11 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 27 января 2011 - 05:50


дабы не плодить новых тем продолжу здесь

можно в скрипт теста добавить выполнение батника?


http://www.php.net/m....shell-exec.php

Fatal error: Call to undefined method Testing_Selenium::shell_exec()
  • 0

#12 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 27 января 2011 - 08:03

Fatal error: Call to undefined method Testing_Selenium::shell_exec()

будем общаться копипастой:
"This function is disabled when PHP is running in safe mode."
http://www.php.net/m...s.safe-mode.php - раз,

...и покажите-ка как вы эту функцию вызываете, это два. :fool:
  • 0

#13 popo_kid

popo_kid

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

  • Members
  • PipPip
  • 79 сообщений

Отправлено 27 января 2011 - 09:25

Testing_Selenium::shell_exec() - судя по всему пытаются вызвать метод shell_exec у класса Testing_Selenium, которого конечно ж нет
  • 0

#14 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 28 января 2011 - 09:16

пробовал такой вызов, ошибки нет, но и результата тоже нет

{
$this->selenium->open("http://evkzkarsd0181...ls/apex/f?p=105 ");
$this->selenium->type("P122_USERNAME", "root");
$this->selenium->type("P122_PASSWORD", "0");
$this->selenium->click("P122_LOGIN");
$this->selenium->waitForPageToLoad("60000");
shell_exec ("d:\install\rollback.bat");
}

и такой :blush:
{
$this->selenium->open("http://evkzkarsd0181...ls/apex/f?p=105 ");
$this->selenium->type("P122_USERNAME", "root");
$this->selenium->type("P122_PASSWORD", "0");
$this->selenium->click("P122_LOGIN");
$this->selenium->waitForPageToLoad("60000");
$this->selenium->shell_exec ("d:\install\rollback.bat");
}

соотвтственно при этом вариант вышла ошибка :smile:
  • 0

#15 popo_kid

popo_kid

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

  • Members
  • PipPip
  • 79 сообщений

Отправлено 28 января 2011 - 09:47

ну а дальше вам прямой путь в мануалы по пхп, ну или output из shell_exec хотя бы проверить
  • 0


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

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