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

Фотография

Запустить один тест с друго и вернуться

Selenium WebDriver Eclipse

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

#1 VikaViktoriya

VikaViktoriya

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 27 марта 2014 - 12:09

Всем привет,

 

очередная задачка.

 

Тест.java состоит из открытия странички, логин и разных действий на страничке после логина.

 

Цель: Логин вынести в отдельный Логин.java и запускать его с Тест.java.

 

Пыталась решить задачу статическим методом, но Тест.java не запускает Логин.java.

 

Может у кого есть какие то идеи или кто то уже с таким сталкивался?

 

Спасибо заранее!!!


  • 0

#2 220v

220v

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

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 27 марта 2014 - 13:17

Вы хотите в xUnit  запускать тесты последовательно или сделать их независимыми друг от друга?

Если я правильно Вас понял... (это примерно как использовать PageObject Pattern)
1й пакет: с @FindBy и доп методами (в который вынесен метод loginAs(String username, String password){...})
2й пакет с самими тестами:

1)Тест.java:

@Test
СсылкаС1гоПакета.goToPage();
СсылкаС1гоПакета.logInAs("user2", "password2");
СсылкаС1гоПакета.doSomethingAfterLogin();
 
2)Логин.java:

@Test
СсылкаС1гоПакета.goToPage();
СсылкаС1гоПакета.loginAs("user","password");
СсылкаС1гоПакета.verifyLoginPage();
 


  • 0

#3 VikaViktoriya

VikaViktoriya

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 28 марта 2014 - 07:38

Эти два  junit теста зависимы друг от друга.

Основной Тест.java (на примере yandex) Запускаем его.  Он запускает FirefoxDriver, а потом должен запустить второй тест в котором только логин (на примере yandexZadanie). После того как логин сработал, возвращаемся в первый тест и заканчиваем задия с первого (перелистывает странички). Надеюсь смогла более понятно обьяснить, вот еще пример. 

 

1. yandex.java (Тест.java)

 

@Before
    public void setUp() throws Exception {
      driver = new FirefoxDriver();
      baseUrl = "http://www.yandex.ru/";
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    }

    @Test
    public void testYandex() throws Exception {
      
      /* driver.get(baseUrl + "/");                                                                                         // эта часть должна быть во втором тесте
      driver.findElement(By.id("text")).click();
      driver.findElement(By.id("text")).clear();
      driver.findElement(By.id("text")).sendKeys("selenium");
      driver.findElement(By.cssSelector("input.b-form-button__input")).click(); */ 
      
      driver.findElement(By.linkText("2")).click();                                                                // место возвращения со второго теста
      driver.findElement(By.linkText("3")).click();
    }

........

 

 

2.  yandexZadanie.java (Логин.java)

 

/* @Before
    public void setUp() throws Exception {
      driver = new FirefoxDriver();
      baseUrl = "http://www.yandex.ru/";
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    } */

    @Test
    public void testYandex() throws Exception {
      
       driver.get(baseUrl + "/");
      driver.findElement(By.id("text")).click();
      driver.findElement(By.id("text")).clear();
      driver.findElement(By.id("text")).sendKeys("selenium");
      driver.findElement(By.cssSelector("input.b-form-button__input")).click();
      
      /* driver.findElement(By.linkText("2")).click();                                                           // а это часть в первом тесте
      driver.findElement(By.linkText("3")).click(); */
    }


  • 0

#4 VikaViktoriya

VikaViktoriya

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 28 марта 2014 - 08:30

Задачка вроде бы решилась, сейчас протестирую  :-)


  • 0

#5 220v

220v

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

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 28 марта 2014 - 08:37

Задачка вроде бы решилась, сейчас протестирую  :-)

Если возможно, то покажите ваше решение

Моё решение в картинках.
 

Прикрепленные файлы

  • Прикрепленный файл  1.jpg   53,55К   1 Количество загрузок:
  • Прикрепленный файл  2.jpg   76,1К   1 Количество загрузок:
  • Прикрепленный файл  3.jpg   57,63К   0 Количество загрузок:
  • Прикрепленный файл  4.jpg   60,22К   0 Количество загрузок:

  • 1

#6 VikaViktoriya

VikaViktoriya

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

  • Members
  • Pip
  • 33 сообщений

Отправлено 28 марта 2014 - 10:15

 

Задачка вроде бы решилась, сейчас протестирую  :-)

Если возможно, то покажите ваше решение

Моё решение в картинках.
 

 

Спасибо огромное за поддержку!!!  :smile:  Ваше решение интересное, попробую его то же.

 

Мое вот такое:

 

1. yandex.java (Тест.java)

 

    @Before
    public void setUp() throws Exception {
      driver = new FirefoxDriver();
      baseUrl = "http://www.yandex.ru/";
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    }

 

 @Test
    public void testYandex() throws Exception {
             
      new yandexZadanie().testyandexZadanie(driver, baseUrl);
      
      driver.findElement(By.linkText("2")).click();
      driver.findElement(By.linkText("3")).click();
    }

 

 

 

 

 

 

2.  yandexZadanie.java (Логин.java)

 

 

 public void testyandexZadanie(WebDriver driver, String baseURL) {
      driver.get(baseURL);
      driver.findElement(By.id("text")).click();
      driver.findElement(By.id("text")).clear();
      driver.findElement(By.id("text")).sendKeys("selenium");
      driver.findElement(By.cssSelector("input.b-form-button__input")).click();

 }
 

 

 

 


  • 0



Темы с аналогичным тегами Selenium WebDriver Eclipse

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

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