Usage
Usage: Level CI Selenium Java
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.time.Duration;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
import com.levelci.a11y.selenium.*;
public class MyE2ETests {
private static WebDriver driver;
private static AuditConfig auditConfig;
@BeforeAll
static void setup() {
var options = new ChromeOptions();
options.addArguments("--headless");
driver = new ChromeDriver(options);
// Prepare analysis configuration
var analysisConfig = AnalysisConfig.builder()
.level(Level.AA) // Analyze for A- and AA-level violations only
.ignoreSelectors(Set.of("button", "div")) // Ignore HTML elements with these selectors
// ... more configurations
.build();
// Prepare Selenium accessibility audit configuration
auditConfig = AuditConfig.builder()
.driver(driver) // Add your WebDriver here
.analysisConfiguration(analysisConfig) // Attach prepared analysis config
.saveReport(true) // Save analysis reports for Level CI
.reportPath("./level-ci-reports") // Directory for analysis results
.elementScreenshots(true) // Capture screenshots of violations
// ... more configurations
.build();
}
@Test
@DisplayName("Basic workflow example")
void basicWorkflowExampleTest() throws InterruptedException {
// Open target page
driver.get("https://my.site.com");
// Wait until page loads (adjust method as needed)
driver.manage().timeouts().implicitlyWait(Duration.ofMinutes(1));
// Execute accessibility analysis
var statistics = AccessibilityAuditor.levelAnalyze(auditConfig);
// Optional: assertions based on analysis results
assertThat(statistics.status()).isEqualTo(AnalysisStatus.SUCCEEDED);
assertThat(statistics.issuesFound()).isLessThan(10);
// ... more assertions
}
}By default, Level CI Selenium scans for AA violations, you can customize to include/exclude rules.
Last updated on