introduction junit framework
Този урок ще даде представа за JUnit и използването му в скрипта на селен. Това е урок № 11 в нашия изчерпателна серия уроци за селен.
По принцип JUnit е инструмент за тестване на модули с отворен код и се използва за тестване на малки / големи единици код. За да стартирате теста JUnit, не е нужно да създавате обект на клас или да дефинирате основния метод. JUnit предоставя библиотека за твърдения, която се използва за оценка на резултата от теста. Анотациите на JUnit се използват за стартиране на тестовия метод. JUnit се използва и за стартиране на комплекта за автоматизация с множество тестови случаи.
Какво ще научите:
- Добавяне на библиотека JUnit в проект Java
- JUnit Анотации, използвани в скриптове за селен
- Твърдения JUnit
- Заключение:
- Препоръчително четене
Добавяне на библиотека JUnit в проект Java
Първо ще научим как да добавяме библиотека JUnit във вашия проект на Java:
как да видите json файл
Етап 1: Щракнете с десния бутон върху проект Java-> Път на изграждане-> Конфигуриране на път на изграждане
Стъпка 2: Щракнете върху Библиотеки-> Добавяне на библиотека
Стъпка # 3: Кликнете върху Junit.
Стъпка # 4: Изберете Junit4-> Finish
Стъпка # 5: Щракнете върху OK.
Има много рамки като Data Driven Framework, Keyword Driven Framework и Hybrid Framework, които използват инструмента JUnit като тест за изпълнение и които ще помогнат за стартиране на изпълнението на партиди и отчитане.
JUnit Анотации, използвани в скриптове за селен
В Junit има много анотации. Тук описахме няколко анотации, които се използват много често в скриптове и рамка на Selenium.
# 1. @Тест
@Тест анотацията се използва за стартиране на тест на Junit.
Пример :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
Как да стартирате JUnit тест:
Навигирайте за изпълнение -> Изпълнете като тест JUnit
# 2. @Преди:
@Преди анотацията се използва за изпълнение на конкретен тест преди всеки тест.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Изход:
Работи преди тест
Изпълнение на тест Junit
Пример за преди анотиране с използване на метод за тестване на два junit.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Изход:
Работи преди тест
Изпълнение на тест JUnit
Работи преди тест
Изпълнение на втори тест JUnit
Преди да стартирате JUnit тестов метод, преди ще се стартира методът Test. По същия начин, преди да стартирате secondJuntiTest отново, методът beforeTest ще се изпълни и ще даде изход, както по-горе.
# 3. @BeforeClass
Този метод се изпълнява веднъж, преди да стартира целия тест. Методът трябва да бъде статичен метод. Инициализирането на файлове със свойства, бази данни и т.н. се извършва по метода beforeClass.
public class Junttest { @BeforeClass public static void beforeClassTest(){ System.out.println('Executed before class method'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Изход:
Изпълнява се преди метод на клас
Изпълнение на тест JUnit
Изпълнение на втори тест JUnit
# 4. @След
Този метод се изпълнява след всеки тест.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Изход:
Изпълнение на тест JUnit
Изпълнение след метод
# 5. @След часовете
Подобно на @BeforeClass, @AfterClass се изпълнява веднъж след изпълнение на всички тестови методи. Подобно на метода @BeforeClass, методът @AfterClass трябва да бъде статичен метод.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } @AfterClass Public static void afterClassTest(){ System.out.println('Running afterclass method'); } }
Изход:
Изпълнение на тест JUnit
Изпълнение на втори тест JUnit
Изпълнява се метод на afterclass
Твърденията JUnit се използват за валидиране на определено условие и спират изпълнението на програмата, ако условията не са изпълнени.
# 6. Параметризиран клас JUnit:
Параметризиран клас се използва за изпълнение на един и същ сценарий с множество набори от данни.
По-долу е примерът за преминаване на множество параметри в тест JUnit.
@Parameters пояснителен маркер се използва за предаване на множество данни. Тук сме взели 2 * 2-измерен масив и данните могат да бъдат визуализирани както по-долу:
@RunWith(Parameterized.class) public class Junttest { public String name; public int age; public Junttest(String name,int age){ this.name=name; this.age=age; } @Test public void testMethod(){ System.out.println('Name is: '+name +' and age is: '+age); } @Parameters public static Collection parameter(){ Object()() pData=new Object(2)(2); pData(0)(0)='Tom'; pData(0)(1)=30; pData(1)(0)='Harry'; pData(1)(1)=40; return Arrays.asList(pData); } }
Твърдения JUnit
JUnit assertEquals : Това проверява дали двете стойности са равни и твърдението е неуспешно, ако и двете стойности не са равни.
как да видите eps файлове в Windows 10
Това сравнява Boolean, int, String, float, long, char и т.н.
Синтаксис :
Assert.assertEqual („изключена стойност“, „действителна стойност“);
Пример :
Assert.assertEqual („ABC“, „ABC“); // И двата низа са равни и твърдението ще премине.
Assert.assertEqual („ABC“, „DEF“); // Утвърждаването ще се провали, тъй като и двата низа не са равни.
Assert.assertEqual („Низовете не са равни“, „ABC“, „DEF“); // съобщението ще бъде хвърлено, ако не е изпълнено равното условие.
По-долу е даден пример за използването на JUnit твърдение в селен:
String username=driver.findElement(By.id(“username”)).getText(); String password=driver.findElement(By.id(“password”)).getText(); Assert.assertEqual(“Mismatch in both the string”, username, password);
В горния пример твърдението ще се провали, тъй като и двата низа не са равни. Едното е текстът на полето за потребителско име, а другото е текстът на полето за парола.
JUnit assertTrue : Връща вярно, ако условието е вярно и твърдението е неуспешно, ако условието е невярно.
Assert.assertTrue („съобщение“, условие);
Assert.assertTrue („И двата низа не са равни“, („HelloWorld“). Е равно („HelloWorld“));
Тук твърдението ще премине, когато и двата низа съвпадат. Той ще отпечата съобщението, ако твърдението не успее.
JUnit assertFalse : Връща вярно, ако условието е невярно и твърдението е неуспешно, ако условието е вярно.
Assert.assertFalse („съобщение“, условие);
Assert.assertFalse („И двата низа са равни“, („Здравей“). Е равно („HelloWorld“));
Няма да има грешка в твърдението, тъй като условието е невярно.
Заключение:
Повечето програмисти използват Junit, тъй като е лесен и не отнема много усилия за тестване. Обикновена зелена или червена лента ще покаже действителния резултат от теста. Junit улеснява живота, тъй като разполага със собствен набор от библиотеки и анотации. Тук също сме описали често използвани анотации, използвани със скриптове и рамка на селен.
Повече подробности за рамката и използването на JUnit анотациите ще бъдат обсъдени в предстоящия урок, който е посветен изключително за дизайн на рамки с помощта на Junit. Този урок ще ни помогне при проектирането на рамката с помощта на Junit.
Следващ урок # 12 : В следващия урок ще обсъдим всичко за TestNG, неговите характеристики и приложения. TestNG е авансова рамка, създадена по начин да се възползва от предимствата както от разработчиците, така и от тестерите.
Препоръчително четене
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Създаване на Framework Selenium и достъп до тестови данни от Excel - Урок № 21 за Selenium
- Внедряване на нашия първи скрипт за WebDriver - Урок № 10 за Selenium WebDriver
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Уроци за задълбочено затъмнение за начинаещи
- Как да използвам TestNG Framework за създаване на селенови скриптове - TestNG Selenium Tutorial # 12
- Ефективни сценарии за скриптове и отстраняване на неизправности при селен - Урок №27 за селен
- Отстраняване на грешки в скриптове за селен с регистрационни файлове (Урок за Log4j) - Урок за селен # 26