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

Фотография

Selenium in static metod


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

#1 Dary

Dary

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

  • Members
  • PipPip
  • 94 сообщений
  • ФИО:даша

Отправлено 09 июня 2011 - 11:23

Простите, мой вопрос возможно дурацкий, я плохо знаю java, поэтому взываю здесь:
(тесты пишу в Eclipse + Junit + Selenium)

Есть метод login(), который я использую в разных классах.
Хочу оптимизировать код, вызывая метод Login() из класса под названием CommonActions:

CommonActions.login();

Компилятор потребовал сделать класс login() статическим, сделала:
public static void login(){
...
}

Компилятор заругался на selenium.open("login.aspx") в классе login()
"Cannot make a static reference to the non-static field selenium"

Заменила selenium статическим методом, объявив в классе CommonActions:
static Selenium sel;

А он не работает :(

Я хочу невозможного, или можно как-то решить этот вопрос?
Покажите ваш код статического метода, с использованием команд selenium, пожалуйста!!!!
Спасибо.
  • 0

#2 alena b

alena b

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

  • Members
  • Pip
  • 23 сообщений
  • ФИО:Alena

Отправлено 09 июня 2011 - 12:13

А от чего наследуется CommonActions? И от чего наследуются тестоые классы, в которых вызываете этот login() ?
  • 0

#3 Dary

Dary

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

  • Members
  • PipPip
  • 94 сообщений
  • ФИО:даша

Отправлено 09 июня 2011 - 12:20

классы с тестами лежат в Progect_name/src
класс CommonActions я положила в Progect_name/src/common

а это имеет значение?
  • 0

#4 alena b

alena b

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

  • Members
  • Pip
  • 23 сообщений
  • ФИО:Alena

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

Какой-то класс по-любому должен наследоваться от SeleneseTestCase (чтобы были setUp и tearDown) и еще один - от DefaultSelenium например, это чтобы были методы типа клик . А какой у вас код? :search:
upd: А пакет это не очень важно какой.
  • 0

#5 Boltick

Boltick

    Специалист

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

Отправлено 09 июня 2011 - 12:31

Рекоменду для начала разбораться с терминологией: class, method, variable, static/non-static.
Далее прочитать и разобраться, что такое наследование и с чем его едят.
Тогда я уверен, что вы сами поймете где накосячили.
  • 0
Алексей Булат
Про Тестинг

#6 Dary

Dary

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

  • Members
  • PipPip
  • 94 сообщений
  • ФИО:даша

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

ушла читать, вернусь нескоро :))
спасибо
  • 0

#7 Dary

Dary

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

  • Members
  • PipPip
  • 94 сообщений
  • ФИО:даша

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

Какой-то класс по-любому должен наследоваться от SeleneseTestCase (чтобы были setUp и tearDown) и еще один - от DefaultSelenium например, это чтобы были методы типа клик . А какой у вас код? :search:
upd: А пакет это не очень важно какой.


большое спасибо, Вы мне очень помогли :)

Я сделала public class CommonActions extends SeleneseTestCase { ..

А остальные классы, вызывающие методы из CommonActions сделала его наследниками :

public class upload extends CommonActions { ...

И всё заработало!!!

(Вы уж извините, я совсем новичок, программирование изучаю по форумам)
  • 0

#8 Boltick

Boltick

    Специалист

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

Отправлено 10 июня 2011 - 08:34

(Вы уж извините, я совсем новичок, программирование изучаю по форумам)

Вместо форумов лучше книжек почитать :)

Для начала рекомендую: Head First Java, авторы Bert Bates & Kathy Sierra
Дальше взять какую-нить книжку по подготовке к сертификации...
  • 0
Алексей Булат
Про Тестинг


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

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