Bird
Raised Fist0
Selenium Pythontesting~10 mins

Markers for categorization in Selenium Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to mark a test with the 'smoke' marker.

Selenium Python
@pytest.mark.[1]
def test_example():
    assert True
Drag options to blanks, or click blank then click option'
Askip
Bslow
Cregression
Dsmoke
Attempts:
3 left
💡 Hint
Common Mistakes
Using a marker name that does not exist or is misspelled.
Forgetting the '@pytest.mark.' prefix.
2fill in blank
medium

Complete the code to skip a test using the 'skip' marker.

Selenium Python
@pytest.mark.[1](reason="Not ready")
def test_feature():
    assert False
Drag options to blanks, or click blank then click option'
Aslow
Bskip
Csmoke
Dregression
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'skipif' instead of 'skip' without condition.
Not providing a reason for skipping.
3fill in blank
hard

Fix the error in the marker usage to mark a test as 'regression'.

Selenium Python
@pytest.mark[1]
def test_bug_fix():
    assert True
Drag options to blanks, or click blank then click option'
A.regression
B(regression)
C('regression')
D.regression()
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses which cause syntax errors.
Using string arguments instead of attribute access.
4fill in blank
hard

Fill both blanks to mark a test as 'slow' and skip it with a reason.

Selenium Python
@pytest.mark.[1]
@pytest.mark.[2](reason="Too slow")
def test_heavy():
    assert True
Drag options to blanks, or click blank then click option'
Aslow
Bskip
Csmoke
Dregression
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up marker names or using wrong syntax.
Forgetting the reason argument in skip.
5fill in blank
hard

Fill all three blanks to mark a test as 'regression', skip it with a reason, and add a custom marker 'api'.

Selenium Python
@pytest.mark.[1]
@pytest.mark.[2](reason="Flaky test")
@pytest.mark.[3]
def test_api_call():
    assert True
Drag options to blanks, or click blank then click option'
Aregression
Bskip
Capi
Dslow
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses for markers that don't require them.
Forgetting to add the reason for skip.

Practice

(1/5)
1. What is the main purpose of using markers in pytest with Selenium tests?
easy
A. To write test cases faster
B. To label and organize tests for selective running
C. To automatically fix test failures
D. To generate test reports

Solution

  1. Step 1: Understand what markers do

    Markers are used to label tests so you can group or select them easily.
  2. Step 2: Identify the main purpose

    This helps run only certain tests or skip some, improving test control.
  3. Final Answer:

    To label and organize tests for selective running -> Option B
  4. Quick Check:

    Markers = Organize tests [OK]
Hint: Markers help pick which tests to run or skip [OK]
Common Mistakes:
  • Thinking markers speed up writing tests
  • Believing markers fix test errors automatically
  • Confusing markers with report generation
2. Which is the correct way to add a marker named smoke to a test function in pytest?
easy
A. @pytest.mark.smoke\ndef test_example(): pass
B. @pytest.mark('smoke')\ndef test_example(): pass
C. @pytest.mark[smoke]\ndef test_example(): pass
D. @pytest.mark->smoke\ndef test_example(): pass

Solution

  1. Step 1: Recall pytest marker syntax

    Markers use dot notation: @pytest.mark.marker_name above the test.
  2. Step 2: Match syntax to options

    Only @pytest.mark.smoke\ndef test_example(): pass uses correct dot notation without extra symbols.
  3. Final Answer:

    @pytest.mark.smoke\ndef test_example(): pass -> Option A
  4. Quick Check:

    Marker syntax = dot notation [OK]
Hint: Use dot notation: @pytest.mark.marker_name [OK]
Common Mistakes:
  • Using parentheses instead of dot notation
  • Using brackets or arrows incorrectly
  • Missing the @ symbol before pytest.mark
3. Given this pytest code snippet, what tests will run if you execute pytest -m smoke?
@pytest.mark.smoke
def test_login(): pass

@pytest.mark.regression
def test_checkout(): pass

def test_search(): pass
medium
A. Only test_login
B. Only test_checkout
C. Both test_login and test_checkout
D. All three tests

Solution

  1. Step 1: Understand pytest -m option

    The -m option runs tests with the given marker only.
  2. Step 2: Identify tests with 'smoke' marker

    Only test_login has @pytest.mark.smoke.
  3. Final Answer:

    Only test_login -> Option A
  4. Quick Check:

    pytest -m smoke runs smoke tests only [OK]
Hint: -m runs tests with matching marker only [OK]
Common Mistakes:
  • Running all tests ignoring markers
  • Confusing marker names
  • Assuming unmarked tests run with any marker
4. You wrote this test with a marker but it does not run when you use pytest -m regression. What is the error?
@pytest.mark.regresion
def test_payment(): pass
medium
A. Test function name is incorrect
B. Missing @ symbol before pytest.mark
C. Marker name is misspelled
D. pytest -m cannot run marked tests

Solution

  1. Step 1: Check marker spelling

    The marker used is 'regresion' but command uses 'regression'.
  2. Step 2: Understand effect of misspelling

    pytest -m regression won't find tests marked 'regresion', so test is skipped.
  3. Final Answer:

    Marker name is misspelled -> Option C
  4. Quick Check:

    Marker spelling must match exactly [OK]
Hint: Check marker spelling matches command exactly [OK]
Common Mistakes:
  • Typos in marker names
  • Forgetting @ before pytest.mark
  • Assuming pytest runs all marked tests without -m
5. You want to run all tests except those marked slow. Which pytest command should you use?
hard
A. pytest -m slow
B. pytest --exclude slow
C. pytest --skip slow
D. pytest -m "not slow"

Solution

  1. Step 1: Understand pytest marker expressions

    To exclude tests with a marker, use -m "not marker_name" syntax.
  2. Step 2: Match command to requirement

    pytest -m "not slow" uses "not slow" to run all tests except those marked slow.
  3. Final Answer:

    pytest -m "not slow" -> Option D
  4. Quick Check:

    Use -m "not marker" to exclude tests [OK]
Hint: Use -m "not marker" to skip marked tests [OK]
Common Mistakes:
  • Using -m marker to run only those tests
  • Using unsupported --skip or --exclude options
  • Not quoting the expression with spaces
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard