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

Фотография

Задержка после выполнения каждой команды


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

#1 Breetonia

Breetonia

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

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Рымаров Владислав

Отправлено 28 июня 2012 - 08:50

Как можно быстро в селениуме сделать задержку между выполнениями последовательных команд,кроме фаиндЭлемент ?
Пока использую только Thread.sleep(1000);.Говорят,что он бажный,но лучше средства не нашел.Посоветуйте,пожалуйста,какой метод использовать
или поделитесь своими наработками ))).
  • 0

#2 horhe

horhe

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

  • Members
  • PipPip
  • 100 сообщений
  • ФИО:Юрко
  • Город:Kraków

Отправлено 28 июня 2012 - 14:11

может поможет

void setSpeed(java.lang.String value)

Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation). By default, there is no such delay, i.e., the delay is 0 milliseconds.

Parameters:
value - the number of milliseconds to pause after operation
  • 0
Piobaireachd isn't mysterious, difficult or hard - it's just music...

#3 Breetonia

Breetonia

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

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Рымаров Владислав

Отправлено 29 июня 2012 - 08:03

в WebDriver Actions нет такого метода - только в селениум 1.0.
  • 0

#4 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 29 июня 2012 - 08:35

Как можно быстро в селениуме сделать задержку между выполнениями последовательных команд,кроме фаиндЭлемент ?
Пока использую только Thread.sleep(1000);.Говорят,что он бажный,но лучше средства не нашел.Посоветуйте,пожалуйста,какой метод использовать
или поделитесь своими наработками ))).

А чем "Thread.sleep(1000);" бажный? - Не разу еще ничего не вылетало из-за него...

можете для красоты написать метод delay и вызывать его:
public void delay(int timeout) {
        try {
            Thread.sleep(timeout);
        } catch (InterruptedException e) {
            e.printStackTrace(); 
        }
}

  • 1
Алексей Булат
Про Тестинг

#5 Breetonia

Breetonia

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

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Рымаров Владислав

Отправлено 02 июля 2012 - 07:10

Баранцев сказал,что он не потокобезопасный....значит,есть возможность слета теста по иксепшну.
Спасибо за метод :aggressive:д,а как насчет этого ?

http://selenium.goog...ui/Sleeper.html

Не догнал,для чего оно и как использовать.
Всё-таки интересует возможность типо setSpeed(),но только для драйвера...
  • 0

#6 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 02 июля 2012 - 08:48

Баранцев сказал,что он не потокобезопасный....значит,есть возможность слета теста по иксепшну.
Спасибо за метод :aggressive:д,а как насчет этого ?

http://selenium.goog...ui/Sleeper.html

Не догнал,для чего оно и как использовать.
Всё-таки интересует возможность типо setSpeed(),но только для драйвера...

Sleeper - это примерно тоже, что я вам и предложил :)

public interface Sleeper
Abstraction around Thread.sleep(long) to permit better testability.


Разница лишь в том, что этот метод является частью Селениума, поэтому вполне возможно он более "потокобезопасный" :)
Так что пользуйте его после каждого действия: click + sleep, click + sleep, click + sleep и будет вам счастье...

Либо, рассмотрите вот такой вариант: WebDriver.Options в нем есть метод setSpeed(Speed speed)

Я его не пробовал, так что если прокатит - поделитесь впечатлениями!
Удачи.
  • 0
Алексей Булат
Про Тестинг

#7 Breetonia

Breetonia

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

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Рымаров Владислав

Отправлено 02 июля 2012 - 11:07

Спасибо вам большое за помощь! Обязательно попробую.
  • 0


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

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