Хобрук: Ваш путь к мастерству в программировании

Selenium 2 в Java Ошибка теста JUnit: не удалось начать новый сеанс

Я разрабатываю тестовую программу входа в систему на Java с помощью Selenium2.

Когда я запускаю его в JUnit в NetBeans, появляется ошибка: «testLogin (JUnitTest.LoginTest): не удалось начать новый сеанс. Возможными причинами являются неверный адрес удаленного сервера или сбой запуска браузера». Любая идея об этом? Благодарю вас! Примечание. Я не думал о способах проверки результата входа в систему, поэтому утверждения пока не будут работать.

Мой код:

public class LoginTest {

private static WebDriver driver;
private static String baseUrl;
    private static String loginUrl;

@Before
public void setUp() {
            baseUrl = "https://web.kitchology.com/kitchology/";
            loginUrl = "https://web.kitchology.com/kitchology/faces/Home.xhtml";
            System.setProperty("webdriver.chrome.driver", "E:\\Google\\Chrome\\Application\\Chrome.exe");
            driver = new ChromeDriver();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

            driver.get(baseUrl);
            driver.findElement(By.id("j_idt16:sitepassword")).sendKeys("sitepass");
            driver.findElement(By.id("j_idt16:j_idt19")).click();

            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

}

@Test
public void testLogin() throws Exception {

            driver.get(loginUrl);

            driver.findElement(By.id("j_idt16:loginLink")).click();
            driver.findElement(By.id("login")).clear();//clear any previous text
            driver.findElement(By.id("j_idt16:loginForm:username")).sendKeys("myuser");
            driver.findElement(By.id("j_idt16:loginForm:password")).sendKeys("mypass");
            driver.findElement(By.id("j_idt16:loginForm:j_idt28")).submit();
            assert("Welcome to Kitchology!" == driver.getTitle());
    assert("" == WelcomePage.getWelcomeMessage());

}

@Test
public void testFailedLogin() throws Exception {

            driver.get(loginUrl);

            driver.findElement(By.id("j_idt16:loginLink")).click();
            driver.findElement(By.id("login")).clear();//clear any previous text
            driver.findElement(By.id("j_idt16:loginForm:username")).sendKeys("myuser");
            driver.findElement(By.id("j_idt16:loginForm:password")).sendKeys("mypass");
            driver.findElement(By.id("j_idt16:loginForm:j_idt28")).submit();
    assert("" == FailedPage.getErrorMessage());

}

    @After
public void after() {
    driver.quit();
}

}


  • Не могли бы вы добавить журнал ошибок? Вы уверены, что можете получить доступ к веб-сайту из браузера? 18.06.2013

Ответы:


1

Убедились ли вы, что путь для

веб-драйвер.chrome.драйвер

правильно настроен?

Вы загружаете драйвер из Selenium Chrome Driver?

18.06.2013
  • Итак, вы указываете, что веб-браузер Google Chrome отличается от этого драйвера Chrome? Я этого не знал... 18.06.2013
  • @Peijie, это четко указано в документации, прочитайте: code.google.com/p/selenium/wiki/ChromeDriver 18.06.2013
  • Тогда я был сбит с толку, теперь я понимаю, что когда он говорит «драйвер», это относится к chromedriver.exe. Поэтому я переустанавливаю Google Chrome в папку по умолчанию и устанавливаю путь к драйверу для webdriver.chrome.driver, теперь он работает, спасибо! 18.06.2013
  • Новые материалы

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

    Обзор 20 основных и современных методов работы с массивами в JavaScript
    Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

    Да, но я чувствую необходимость указать, что это или не единственные два.
    Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.

    Получение стоковых обновлений с помощью Python
    Для начинающего финансового аналитика Введение Описание: Этот проект Python создает скрипт для получения текущих обновлений акций с финансового веб-сайта Yahoo. Для этого проекта мы..