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

Фотография

Как настроить последовательность выполнения автотеста.


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

#1 AlekseySmiyan

AlekseySmiyan

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

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

Отправлено 13 июля 2016 - 14:10

Добрый день.

Пишу сейчас автотест. Использую Selenide,Maven,Junit. Язык программирования Java. Пишу в Intellij Idea.

Когда запускаю тест из Intellij Idea,то почему-то первым запускается  public void testAddItemsToCart(), а не public void testUserCanSelectRegion() .Он конечно же падает. В чем проблема нагуглить не смог. Посоветуйте, в чем может быть проблема.Как сделать так, чтоб автотест работал в последовательно. 

Опыт у меня минимальный.Только-только начал учить автотесты и Java.

 

package com.gmail.smiyan;

import org.junit.Test;

import org.openqa.selenium.By;

import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selectors.byText;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
import static com.codeborne.selenide.Selenide.screenshot;
import com.codeborne.selenide.Configuration;

public class PromBasketTest {

 

@Test
public void testUserCanSelectRegion() {

Configuration.reportsFolder = "reports/PromTest";
open("http://prom.ua/");
$("#search_text").setValue("Кепки,Бейсболки");
$(byText("Все регионы")).shouldBe(visible).click();
$(By.name("city_search")).setValue("Киев");
$(byText("Киевская область")).shouldBe(visible).click();
screenshot("prom_test");
$("#search_submit").click(); //переход на следующую страницу
}

@Test
public void testAddItemsToCart() {

$("#search_text").setValue("Кепка Jordan Air");
}
}


  • 0

#2 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 13 июля 2016 - 15:08

запускается он первым, потому что A(Add) идет перед U(User).

Как вариант, ты можешь переименовать тесты в test001 и тд.

Ну или тесты вынести в методы , а в аннотации test вызывать методы в нужной тебе последовательности


public void userCanSelectRegion() {

Configuration.reportsFolder = "reports/PromTest";
open("http://prom.ua/");
$("#search_text").setValue("Кепки,Бейсболки");
$(byText("Все регионы")).shouldBe(visible).click();
$(By.name("city_search")).setValue("Киев");
$(byText("Киевская область")).shouldBe(visible).click();
screenshot("prom_test");
$("#search_submit").click(); //переход на следующую страницу
}

public void addItemsToCart() {

$("#search_text").setValue("Кепка Jordan Air");
}

@Test
public void tests() {
userCanSelectRegion();
addItemsToCart();
}

  • 0

#3 vinogradoff

vinogradoff

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

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Alexei Vinogradov
  • Город:Dormagen


Отправлено 13 июля 2016 - 20:05

Не надо настраивать последовательности тестов, тесты должны быть независимы друг от друга.

 

Сделайте или два полных теста, или объедините в один.


  • 0

#4 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 13 июля 2016 - 22:33

Еще можно JUnit сменить на TestNG, в нем проще с порядком выполнения, зависимостями тестов друг от друга.


  • 0

#5 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 14 июля 2016 - 07:10

http://memorynotfoun...s-method-order/


  • 0

#6 AlekseySmiyan

AlekseySmiyan

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

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

Отправлено 14 июля 2016 - 11:40

Спасибо всем, за оперативную помощь и советы  :good:


  • 0


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

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