Добавление TestNG к существующему сценарию Selenium - мой выходной сигнал "pass/fail" не совпадает с TestNG
Первый таймер здесь, чтобы Stackru, и новичок в Java/Scripting/Selenium/TestNG
Я создал простой скрипт для проверки метаданных страницы, который правильно печатает "пропустил" или "потерпел неудачу", если ожидаемый заголовок страницы, я изменил код из учебника, который нашел Позже я попытался добавить тест некоторых фреймворков TestNG, модифицируя код немного больше, но даже если, скажем, тест может не сработать в выводе на печать, вывод TestNG не удался
Вот мой код до сих пор
package live_MetaData;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Demo{
private WebDriver driver;
private StringBuffer verificationErrors = new StringBuffer();
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
System.setProperty("webdriver.gecko.driver", "C:\\Automation\\SeleniumFiles\\Browser Drivers\\geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void DemoTest() throws Exception {
String baseUrl = "http://demo.guru99.com/test/newtours/";
String expectedTitle = "Not Meta";
String actualTitle = "";
driver.get(baseUrl);
actualTitle = driver.getTitle();
if (actualTitle.contentEquals(expectedTitle)){
System.out.println("Test Passed!");
} else {
System.out.println("Test Failed");}}
//close Fire fox
@AfterClass(alwaysRun = true)
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}}
Что дает мне этот выходной текст:
Test Failed
PASSED: DemoTest
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
Спасибо за любую помощь, особенно если можно было объяснить, где я ошибаюсь и почему это должно быть как в (надеюсь) решении, я перешел от того, что ничего не знал во вторник, к этому.
1 ответ
Ваш фактический заголовок " Welcome: Mercury Tours ", а Ожидаемый заголовок = " Не Мета "
Ваш код:
if (actualTitle.contentEquals(expectedTitle)){
System.out.println("Test Passed!");
} else {
System.out.println("Test Failed");}
Контроль за проблемой перейдет к другому, так как если условие не выполнено. Ваш тестовый пример пройден, но вы печатаете "Ошибка теста" в другом месте.
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
Это означает, что количество проходов тестового набора равно 1.
Счетчик неудачных тестов равен 0.
Счетчик пропущенных тестов равен 0.
Мое предложение: используйте утверждения для проверки такого рода условий.
Используйте этот код для утверждений:
@Test
public void DemoTest() throws Exception {
String baseUrl = "http://demo.guru99.com/test/newtours/";
String expectedTitle = "Not Meta";
String actualTitle = "";
driver.get(baseUrl);
actualTitle = driver.getTitle();
assertEquals(actualTitle , expectedTitle );
}