t.me/atinfo_chat Telegram группа по автоматизации тестирования

Ant+Junit+настройка тестов

Здравствуйте.
Начинаю запускать автоматизированное тестирование. Настроил по этому примеру https://github.com/saucelabs/sauce-java/tree/master/quickstart-ant/quickstart-webdriver-junit

Каким образом вынести настройки @Before в отдельный файл. Чтобы менять параметры тестов в файле, а применялось ко всем тестам.
Вот тест из примера https://github.com/saucelabs/sauce-java/blob/master/quickstart-ant/quickstart-webdriver-junit/src/test/java/WebDriverTest.java .
Проблема:

  1. как создать файл с настройкой @Before
  2. как “внедрять” такой файл в тесты

Долгое время занимался мануальным тестированием,поэтому переход дается очень тяжело.


тут глянь

не помогло. я не так силен в программировании. Мне бы простой рабочий пример…

Берете в отдельном классе создаете чисто метод @Before. Создаете другой класс и наследуетесь от того класса, где вы прописали метод @Before.

1 Симпатия

А как это сделать на примере? И как это потом прикрутить в Ant, нужно ли что-то редактировать в build.xml?

class Base {
WebDriver driver;

@Before
public void beforeTest(){
driver = new FirefoxDriver();
// плюс что еще вам необходимо 
  }
}

 public class Main extends Base {
 
 @Test 
 public void executeTest() {
// само тело теста

}
}

Примерно где то так

1 Симпатия

Суть ясна. А как это теперь прикрутить к Ant и Junit?
Все тесты у меня запускаются как в примере ( в шапке) .

я вообще суть вопроса не пойму? что значит прикрутить Junit? он импортируется как либа и пошло поехало. С Ant-ом я не работал, поэтому не знаю.

Я использовал пример как быструю настройку для запуска тестов.
Мои тесты запускаются, но в каждом стоит настройка @before и она одинакова для каждого теста.
Как вынести я уже понял, но куда положить ( в какую папку) этот base class я не могу понять.

ну там где и остальные файлы лежат проекта

1 Симпатия

Положите рядом с тестовым классом.

Мне кажется, все-таки стоит немного разобраться в архитектуре антовских проектов. А еще лучше использовать maven или gradle. Не хочу показаться брюзгливым дедом, но меня очень раздражает, когда люди пишут:

Тут не фабрика готовых решений, а форум, где людям помогают решить неординарные задачи и направляют в нужную сторону. Если вам сейчас выдать работающий код, что вы с ним будете делать дальше, когда тест свалится, например? Снова придете сюда и скажете “мне бы рабочий пример…”. Но это не то, чего мы все здесь хотим и добиваемся.

Если есть решения для неординарных задач, то простую задачу новичку тоже можно помочь решить.

Помочь решить != дать готовое решение

Там есть ветки src и test думаю по логике ясно куда что класть!

Получаю такое в логе >>>> java.lang.NullPointerException

public class Setup {
WebDriver wd;

@Before
public void setUp() throws Exception {

DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setCapability("platform", "Windows XP");
caps.setCapability("version", "34.0");
caps.setCapability("record-video", "true");
caps.setCapability("screen-resolution", "1280x1024");
caps.setCapability("name", "общий шаг before");
String username = "****";
String accessKey = "****";
this.wd = new RemoteWebDriver(
        new URL(MessageFormat.format("http://{0}:{1}@ondemand.saucelabs.com:80/wd/hub", username, accessKey)),
        caps);
  }
}

И тест :

public class nologin_Test extends Setup{
  WebDriver wd;



    @Test
    public void WebDriver() {
        wd.get("http://www.***.ru/");
        wd.findElement(By.id("addTrigger")).click();
        assertEquals("войти", wd.findElement(By.cssSelector("div.form-field-wrap > input.btn")).getAttribute("value"));
    }

Конечно будет NPE! зачем определять в исполняющем классе еще один драйвер? ты же наследуешь один уже

1 Симпатия

Ваша задача не касается ни анта, ни джейюнита, ни, прости госпади, вебдрайвера.
И если абстрагироваться, то ваш вопрос звучит так: “Как мне завести машину?”.
Можно конечно рассказать, что: нужно активировать стояночную тормозную систему, поставить рычаг МКПП на нейтральную передачу, вставить ключ в замок зажигания, включить зажигание, дождаться когда контрольная лампа свечей накала потухнет, выжать сцепление, запустить двигатель, дождаться его устойчивой работы, отпустить педаль сцепления. Можно еще потрать кучу времени, объясняя все эти действия и термины. Но зачем, если ваше путешествие закончится на первом же перекрестке, если не раньше, т.к. вы не знаете ПДД?

1 Симпатия

bing278 >>>Спасибо большое!