Пользовательские функции Selenium RC - PullRequest
0 голосов
/ 18 сентября 2010

Попытка сделать что-то простое - у меня есть набор утверждений для очистки файлов cookie браузера:

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

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

В классе конфигурации (скажем, 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 Ответ

1 голос
/ 04 октября 2010

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

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

или еще

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

public static void clearCookies (DefaultSelenium selenium) {

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

}

...