Bird
Raised Fist0
Selenium Pythontesting~10 mins

Running Selenium in CI pipeline 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 import the Selenium WebDriver module.

Selenium Python
from selenium import [1]
Drag options to blanks, or click blank then click option'
Abrowser
Bdriver
Cselenium
Dwebdriver
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'driver' or 'browser' instead of 'webdriver' causes import errors.
2fill in blank
medium

Complete the code to create a Chrome WebDriver instance for running tests.

Selenium Python
driver = [1].Chrome()
Drag options to blanks, or click blank then click option'
Awebdriver
Bselenium
Cbrowser
Ddriver
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'selenium.Chrome()' or 'driver.Chrome()' causes errors.
3fill in blank
hard

Fix the error in the code to run Chrome in headless mode in CI.

Selenium Python
options = webdriver.ChromeOptions()
options.add_argument([1])
driver = webdriver.Chrome(options=options)
Drag options to blanks, or click blank then click option'
A'--headless=true'
B'headless'
C'--headless'
D'headless=true'
Attempts:
3 left
💡 Hint
Common Mistakes
Missing dashes or adding '=true' causes Chrome to ignore headless mode.
4fill in blank
hard

Fill both blanks to add arguments for running Chrome in CI with no sandbox and headless.

Selenium Python
options = webdriver.ChromeOptions()
options.add_argument([1])
options.add_argument([2])
driver = webdriver.Chrome(options=options)
Drag options to blanks, or click blank then click option'
A'--no-sandbox'
B'--headless'
C'--disable-gpu'
D'--incognito'
Attempts:
3 left
💡 Hint
Common Mistakes
Using '--disable-gpu' or '--incognito' instead of required arguments.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension filtering environment variables for CI setup.

Selenium Python
ci_env = [1]: [2] for [3] in env_vars if [3].startswith('CI_')
Drag options to blanks, or click blank then click option'
Akey
Benv_vars[key]
Dvalue
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing variable names or using undefined names causes errors.

Practice

(1/5)
1. Why is it important to run Selenium tests in a CI pipeline?
easy
A. To slow down the deployment process
B. To automatically catch bugs early during development
C. To manually check the UI after deployment
D. To avoid writing test scripts

Solution

  1. Step 1: Understand the purpose of CI pipelines

    CI pipelines automate testing and building to catch issues early.
  2. Step 2: Relate Selenium tests to CI benefits

    Running Selenium tests in CI helps find UI bugs automatically before release.
  3. Final Answer:

    To automatically catch bugs early during development -> Option B
  4. Quick Check:

    CI + Selenium = Early bug detection [OK]
Hint: CI runs tests automatically to catch bugs early [OK]
Common Mistakes:
  • Thinking CI slows deployment
  • Believing tests run manually in CI
  • Ignoring automated testing benefits
2. Which of the following is the correct way to run Chrome in headless mode in Selenium Python?
easy
A. options.add_argument('--headless')
B. options.set_headless(True)
C. driver.headless = True
D. driver.set_option('headless')

Solution

  1. Step 1: Recall Selenium ChromeOptions usage

    To run Chrome headless, add the argument '--headless' to options.
  2. Step 2: Verify correct syntax

    Using options.add_argument('--headless') is the correct method in Selenium Python.
  3. Final Answer:

    options.add_argument('--headless') -> Option A
  4. Quick Check:

    Headless Chrome = add_argument('--headless') [OK]
Hint: Use add_argument('--headless') to enable headless mode [OK]
Common Mistakes:
  • Using non-existent methods like set_headless
  • Trying to set driver.headless directly
  • Confusing driver and options methods
3. What will be the output when running this Selenium Python snippet in a CI environment without a display server?
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.get('https://example.com')
print(driver.title)
driver.quit()
medium
A. Prints 'ChromeDriver not found' error
B. Throws an error about missing display server
C. Prints an empty string
D. Prints the page title 'Example Domain'

Solution

  1. Step 1: Understand headless mode effect

    Headless mode allows Chrome to run without a display server in CI.
  2. Step 2: Analyze code behavior

    The code opens example.com headlessly and prints the page title successfully.
  3. Final Answer:

    Prints the page title 'Example Domain' -> Option D
  4. Quick Check:

    Headless mode avoids display errors, prints title [OK]
Hint: Headless mode avoids display errors, so title prints [OK]
Common Mistakes:
  • Assuming display server is always needed
  • Expecting empty output without display
  • Confusing driver errors with headless mode
4. You added Selenium tests to your CI pipeline but they fail with the error: selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. How do you fix this?
medium
A. Install ChromeDriver and add it to the system PATH in the CI environment
B. Remove the ChromeDriver and use Firefox instead
C. Run tests without specifying any driver
D. Disable headless mode in Chrome options

Solution

  1. Step 1: Understand the error message

    The error says ChromeDriver is missing or not found in PATH.
  2. Step 2: Fix by installing ChromeDriver in CI

    Install ChromeDriver and ensure its location is in the PATH environment variable.
  3. Final Answer:

    Install ChromeDriver and add it to the system PATH in the CI environment -> Option A
  4. Quick Check:

    Driver missing error = install and add to PATH [OK]
Hint: Add ChromeDriver to PATH in CI to fix driver not found [OK]
Common Mistakes:
  • Ignoring driver installation
  • Switching browsers without fixing driver
  • Disabling headless mode unrelated to driver error
5. You want to run Selenium tests in a CI pipeline using Docker. Which setup ensures tests run headlessly and ChromeDriver is available inside the container?
hard
A. Run Selenium tests on host machine, not inside Docker
B. Use a plain Python image and install ChromeDriver only, no Chrome needed
C. Use a Docker image with Chrome and ChromeDriver installed, run Chrome with '--headless' option in Selenium
D. Use Firefox without headless mode inside Docker container

Solution

  1. Step 1: Identify requirements for Selenium in Docker

    Tests need both Chrome browser and ChromeDriver installed inside the container.
  2. Step 2: Choose correct Docker setup

    A Docker image with Chrome and ChromeDriver pre-installed and running Chrome headless is best practice.
  3. Final Answer:

    Use a Docker image with Chrome and ChromeDriver installed, run Chrome with '--headless' option in Selenium -> Option C
  4. Quick Check:

    Docker Selenium needs browser + driver + headless [OK]
Hint: Docker needs both Chrome and ChromeDriver installed [OK]
Common Mistakes:
  • Installing driver without browser
  • Running tests outside Docker when container needed
  • Using non-headless mode in CI Docker
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