login test now reports back as well

This commit is contained in:
Xander 2025-04-05 15:35:28 +01:00
parent bdd2209f85
commit 9314fcea8f
3 changed files with 47 additions and 15 deletions

View file

@ -0,0 +1,11 @@
Role,Username,Step,Result
author,testuser,Login,PASS
author,testuser,Post Access,PASS
author,testuser,Post Creation,PASS
author,testuser,Post Visible,PASS
author,testuser,Post Deleted,PASS
subscriber,subscriber,Login,PASS
subscriber,subscriber,Post Access,PASS
subscriber,subscriber,Post Creation,SKIPPED (Not permitted)
subscriber,subscriber,Post Visible,SKIPPED
subscriber,subscriber,Post Deleted,SKIPPED
1 Role Username Step Result
2 author testuser Login PASS
3 author testuser Post Access PASS
4 author testuser Post Creation PASS
5 author testuser Post Visible PASS
6 author testuser Post Deleted PASS
7 subscriber subscriber Login PASS
8 subscriber subscriber Post Access PASS
9 subscriber subscriber Post Creation SKIPPED (Not permitted)
10 subscriber subscriber Post Visible SKIPPED
11 subscriber subscriber Post Deleted SKIPPED

View file

@ -0,0 +1,3 @@
Role,Username,Step,Result
N/A,testuser,Login,PASS
N/A,subscriber,Login,PASS
1 Role Username Step Result
2 N/A testuser Login PASS
3 N/A subscriber Login PASS

View file

@ -1,39 +1,57 @@
package test;
import main.ConfigureDriver;
import main.CsvBuilder;
import main.DomainGrabber;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
public class TestLogin {
private static final String domain = DomainGrabber.getDomain();
private static final String LOGIN_PAGE = "https://"+domain+"/wp-login.php";
private static final String LOGIN_PAGE = "https://" + domain + "/wp-login.php";
private static final String USERNAME_BOX_ID = "user_login";
private static final String PASSWORD_BOX_ID = "user_pass";
private static final String LOGIN_BUTTON_ID = "wp-submit";
private static final String EXPECTED_URL = "https://"+domain+"/wp-admin/";
private static final String EXPECTED_URL = "https://" + domain + "/wp-admin/";
@BeforeAll
public static void initReport() {
CsvBuilder.createTestReportFile(); // Reuses the same report for consistency
}
@ParameterizedTest
@CsvFileSource(resources = "/csv/built/all_login_credentials.csv", numLinesToSkip = 0)
public void testLogin(String usernameText, String passwordText) {
WebDriver driver = ConfigureDriver.configureDriver();
driver.manage().window().maximize();
driver.get(LOGIN_PAGE);
try {
WebElement username = driver.findElement(By.id(USERNAME_BOX_ID));
WebElement password = driver.findElement(By.id(PASSWORD_BOX_ID));
WebElement login = driver.findElement(By.id(LOGIN_BUTTON_ID));
username.sendKeys(usernameText);
System.out.println("Testing "+usernameText);
System.out.println("Testing " + usernameText);
password.sendKeys(passwordText);
login.click();
assertTrue(driver.getCurrentUrl().startsWith(EXPECTED_URL));
boolean loginSuccessful = driver.getCurrentUrl().startsWith(EXPECTED_URL);
CsvBuilder.appendTestResult("N/A", usernameText, "Login", loginSuccessful ? "PASS" : "FAIL");
assertTrue(loginSuccessful, "Login failed for user: " + usernameText);
} catch (Exception e) {
CsvBuilder.appendTestResult("N/A", usernameText, "Login", "FAIL - Exception: " + e.getMessage());
fail("Exception during login test: " + e.getMessage());
} finally {
driver.quit();
}
}
}