Press "Enter" to skip to content

Test Table

This page is created to practice building XPath locators for real-world tables. Use the table below to locate specific cells, rows, and links based on attributes like data-col, headers, or text content. Try writing locators for courses by language, level, or enrollment numbers, and verify that clicking a course link opens the correct page. If you want to learn how to master XPath and apply it in Selenium tests, check out my XPath Locators for Selenium program.

Automation Courses

Filters

Language
Level
Min enrollments
ID Course Name Language Level Enrollments Link
1517620 Selenium Framework Java Advanced 2667 View
3970682 Selenium Grid Java Advanced 2207 View
2854476 REST Assured Java Intermediate 8254 View
1743612 XPath Locators Any Beginner 14762 View
1904956 Advanced Selenium Java Intermediate 16452 View
5393658 Python for Testers Python Beginner 1365 View
4536644 Java for Testers Java Beginner 6678 View
4824578 Selenium with Python Python Beginner 10705 View
1693880 Selenium with Java Java Beginner 64284 View

Test case 1: Language filter → Java
  1. Open page
  2. Select Language = Java
  3. Verify only Java courses are visible

Fails if language filter is not reapplied on change


Test case 2: Level filter → Beginner only
  1. Open page
  2. Uncheck Intermediate and Advanced
  3. Verify that only Beginner courses are visible

Fails if unchecked levels still pass the filter


Test case 3: Min enrollments → 10,000+
  1. Open page
  2. Open “Min enrollments” dropdown and choose 10,000+
  3. Verify every visible row shows enrollments ≥ 10,000

Fails if numeric comparison is done as strings


Test case 4: Combined filters → Python + Beginner + 10,000+
  1. Open page
  2. Select Language = Python
  3. Uncheck Intermediate and Advanced
  4. Set Min enrollments = 10,000+
  5. Verify only Python Beginner courses with ≥ 10,000 enrollments are visible

Fails if incorrect courses are visible


Test case 5: No results state
  1. Open page
  2. Select a combination that yields no matches (e.g., Language with Level that does not exist)
  3. Verify “No matching courses.” is shown

Fails if no-data state does not toggle with filters


Test case 6: Reset button visibility and behavior
  1. Open page
  2. Change any filter
  3. Verify the Reset button becomes visible
  4. Click Reset
  5. Verify Language = Any, all Levels checked, Min enrollments = Any
  6. Verify the Reset button is hidden and all rows are visible

Fails if defaults or visibility logic are not restored


Test case 7: Sort by Enrollments (ascending, numeric)
  1. Open page
  2. Set Sort by = Enrollments
  3. Verify visible rows are ordered from smallest to largest enrollment
  4. Verify numbers with commas sort correctly

Fails if the sort is lexicographic


Test case 8: Sort by Course Name (alphabetical)
  1. Open page
  2. Set Sort by = Course Name
  3. Verify visible rows are ordered A→Z by course name
  4. Verify order updates after changing filters

Fails if string compare ignores case/whitespace inconsistently