Skip to Content

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