2010-09-17 3 views
0

Попытка сделать что-то простое - У меня есть набор инструкций для четких куки браузера:Селен RC, определяемые пользователем функции

public void clearCookies() { 
    selenium.open("http://www.myurl.com"); 
    selenium.waitForPageToLoad("10000"); 
    selenium.deleteAllVisibleCookies(); 
    } 

Теперь, если я использую эту функцию в тестовом сценарии (с помощью TestNG), звонки к этой работе отлично. Однако, если я переместил эту функцию в отдельный класс и изменил объявление на включение «статического», ключевое слово «селен» не будет распознано. Функция

В классе конфигурации (скажем, configClass),

public static void clearCookies() { 
    selenium.open("http://www.myurl.com"); 
    selenium.waitForPageToLoad("30000"); 
    selenium.deleteAllVisibleCookies(); 
    } 

Теперь в моем тестовом сценарии, если я позвоню configClass.clearCookies();, я получаю ошибку выполнения Я попытался объявляющий DefaultSelenium selenium = new DefaultSelenium(null);, в clearCookies(), но это также приводит к ошибке времени выполнения.

У меня есть импорт import com.thoughtworks.selenium.*; в моем configClass.

Любые указатели будут оценены по достоинству. Благодарю.

ответ

1

Вы можете сделать две вещи.

Обратитесь к одному и тому же объекту selenium в обоих классах, то есть в configClass и классе, который вы вызываете configClass.clearCookies().

или еще

отправить объект селена в clearCookies. Таким образом, код будет как этот

государственной статической силы clearCookies (DefaultSelenium селен) {

selenium.open("http://www.myurl.com"); 
selenium.waitForPageToLoad("30000"); 
selenium.deleteAllVisibleCookies(); 

}

Смежные вопросы