Bird
Raised Fist0
Selenium Pythontesting~5 mins

Markers for categorization in Selenium Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a marker in pytest and why is it useful?
A marker is a label you add to tests to group or categorize them. It helps run specific sets of tests easily, like all slow tests or all login tests.
Click to reveal answer
beginner
How do you apply a marker to a test function in pytest?
Use the @pytest.mark.<marker_name> decorator above the test function. For example, @pytest.mark.slow marks the test as slow.
Click to reveal answer
beginner
How can you run only tests with a specific marker using pytest?
Use the command: pytest -m <marker_name>. For example, pytest -m slow runs only tests marked as slow.
Click to reveal answer
intermediate
Why should you register custom markers in pytest's configuration file?
Registering markers in pytest.ini helps avoid warnings and documents the purpose of each marker for better team understanding.
Click to reveal answer
intermediate
Give an example of using markers to separate UI tests from API tests.
Mark UI tests with @pytest.mark.ui and API tests with @pytest.mark.api. Then run them separately using pytest -m ui or pytest -m api.
Click to reveal answer
What does the pytest marker @pytest.mark.smoke indicate?
AThe test is part of the smoke test suite
BThe test is expected to fail
CThe test is slow
DThe test is skipped
How do you run tests NOT marked with 'slow' in pytest?
Apytest -m 'not slow'
Bpytest --skip slow
Cpytest -m slow
Dpytest --exclude slow
Where do you register custom markers to avoid warnings?
AIn the Selenium WebDriver config
BIn the test file
CIn the Python interpreter
DIn pytest.ini or tox.ini
Which decorator syntax correctly marks a test as 'api'?
A@pytest.api
B@api.mark
C@pytest.mark.api
D@mark.api
What is a benefit of using markers in test automation?
AThey speed up test execution by skipping all tests
BThey help organize and selectively run tests
CThey automatically fix test failures
DThey replace the need for assertions
Explain how markers help in organizing and running tests in pytest.
Think about labeling tests to run only certain groups.
You got /4 concepts.
    Describe the steps to create and use a custom marker in pytest.
    Consider both code and configuration.
    You got /3 concepts.

      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