Первый таймер здесь в Stackoverflow и новичок в 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
===============================================
Спасибо за любую помощь, особенно если можно было бы объяснить, где я ошибаюсь и почему это должно быть как в (надеюсь) решении, я перешел от незнания чего-либо во вторник к этому.
@cruisepandey Как я уже сказал, сам тест работает и показывает его как неуспешный, следовательно, часть вывода "Test Failed", но вывод TestNG показывает, что он пройден, это бит, который я пытаюсь исправить и понять
@LeonTilbrook Вы пытаетесь провалить тест в последующем классе с помощью метода fail (). Поток не входит в условие 'if', потому что переменная verifyErrorString является пустой строкой. Вам необходимо изменить код, чтобы добавить ошибку в строковый буфер verifyErrors, в котором вы первоначально сравниваете заголовки. Затем он войдет в условие if и не пройдет тест.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваш actualTitle - "Добро пожаловать: Mercury Tours", а expectedTitle = "Не Мета"
Ваш код :
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.
.
Контрольный пример отказ count равен 0.
Тестовый пример пропускать count равен 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 );
}
Решило ли это вашу проблему? Спасибо, что приняли ответ!
Спасибо, что помогает такому новичку, как я, загружается :)
Это правильно ! ActualPageTitle - «Добро пожаловать: Mercury Tours», а expectedTitle = «Not Meta», иначе будет выполнен регистр.