Bird
Raised Fist0
Selenium Pythontesting~10 mins

Cookie management in Selenium Python - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test adds a cookie to the browser, verifies it exists, deletes it, and confirms it is removed.

Test Code - Selenium
Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time

# Setup WebDriver
service = Service()
driver = webdriver.Chrome(service=service)

try:
    # Open a simple page
    driver.get('https://www.example.com')

    # Add a cookie
    cookie = {'name': 'testcookie', 'value': 'cookievalue123'}
    driver.add_cookie(cookie)

    # Verify cookie is added
    cookies = driver.get_cookies()
    assert any(c['name'] == 'testcookie' and c['value'] == 'cookievalue123' for c in cookies), 'Cookie not found after adding'

    # Delete the cookie
    driver.delete_cookie('testcookie')

    # Verify cookie is deleted
    cookies_after_delete = driver.get_cookies()
    assert all(c['name'] != 'testcookie' for c in cookies_after_delete), 'Cookie still present after deletion'

finally:
    driver.quit()
Execution Trace - 7 Steps
StepActionSystem StateAssertionResult
1Test starts and WebDriver Chrome instance is createdBrowser window opens, ready to navigate—PASS
2Browser navigates to 'https://www.example.com'Example.com homepage is loaded in the browser—PASS
3Add cookie named 'testcookie' with value 'cookievalue123'Cookie is added to the browser session—PASS
4Retrieve all cookies and check if 'testcookie' with correct value existsCookies list includes the added cookieAssert cookie 'testcookie' with value 'cookievalue123' is presentPASS
5Delete cookie named 'testcookie'Cookie 'testcookie' is removed from browser session—PASS
6Retrieve all cookies and verify 'testcookie' is no longer presentCookies list does not include 'testcookie'Assert cookie 'testcookie' is absent after deletionPASS
7Close browser and end testBrowser window closes—PASS
Failure Scenario
Failing Condition: Cookie 'testcookie' is not found after adding or still present after deletion
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify after adding the cookie?
AThat the cookie is deleted immediately
BThat the page title changes
CThat the cookie named 'testcookie' with value 'cookievalue123' exists in the browser
DThat the browser navigates to a new page
Key Result
Always verify cookie presence after adding and confirm removal after deletion to ensure cookie management works correctly.

Practice

(1/5)
1. What is the primary purpose of managing cookies in Selenium tests?
easy
A. To install browser extensions automatically
B. To store and manipulate small pieces of data like session info during tests
C. To speed up the browser loading time
D. To change the browser's homepage

Solution

  1. Step 1: Understand what cookies do in web context

    Cookies store small data like session IDs or user preferences to remember users.
  2. Step 2: Relate cookie management in Selenium

    Selenium manages cookies to simulate user sessions and test behaviors depending on stored data.
  3. Final Answer:

    To store and manipulate small pieces of data like session info during tests -> Option B
  4. Quick Check:

    Cookies store session data = D [OK]
Hint: Cookies hold session data for tests, not browser settings [OK]
Common Mistakes:
  • Thinking cookies change browser settings
  • Confusing cookies with browser speed optimization
  • Assuming cookies install extensions
2. Which of the following is the correct way to add a cookie named user with value admin in Selenium Python?
easy
A. driver.add_cookie({'name': 'user', 'value': 'admin'})
B. driver.addCookie('user', 'admin')
C. driver.add_cookie('user', 'admin')
D. driver.addCookie({'user': 'admin'})

Solution

  1. Step 1: Recall Selenium Python cookie syntax

    The method add_cookie expects a dictionary with keys 'name' and 'value'.
  2. Step 2: Match the correct syntax

    driver.add_cookie({'name': 'user', 'value': 'admin'}) correctly uses driver.add_cookie({'name': 'user', 'value': 'admin'}).
  3. Final Answer:

    driver.add_cookie({'name': 'user', 'value': 'admin'}) -> Option A
  4. Quick Check:

    add_cookie needs dict with 'name' and 'value' keys = A [OK]
Hint: Use a dict with 'name' and 'value' keys for add_cookie [OK]
Common Mistakes:
  • Using camelCase method names like addCookie
  • Passing cookie name and value as separate arguments
  • Passing a dict without 'name' and 'value' keys
3. What will be the output of the following code snippet?
driver.add_cookie({'name': 'session', 'value': 'xyz123'})
cookie = driver.get_cookie('session')
print(cookie['value'])
medium
A. {'name': 'session', 'value': 'xyz123'}
B. session
C. xyz123
D. null

Solution

  1. Step 1: Add cookie with name 'session' and value 'xyz123'

    The cookie is stored with key 'session' and value 'xyz123'.
  2. Step 2: Retrieve cookie and print its 'value'

    Calling get_cookie('session') returns the cookie dict; printing cookie['value'] outputs 'xyz123'.
  3. Final Answer:

    xyz123 -> Option C
  4. Quick Check:

    get_cookie('session')['value'] = 'xyz123' [OK]
Hint: get_cookie returns dict; access 'value' key for cookie value [OK]
Common Mistakes:
  • Printing cookie name instead of value
  • Expecting get_cookie to return just the value string
  • Confusing cookie dict with string
4. Identify the error in this Selenium Python code for deleting a cookie:
driver.delete_cookie('user')
medium
A. Method name should be deleteCookie instead of delete_cookie
B. delete_cookie requires a dictionary, not a string
C. Must call driver.delete_all_cookies() instead
D. No error; this is the correct way to delete a cookie by name

Solution

  1. Step 1: Check Selenium Python method for deleting a cookie

    The method delete_cookie takes the cookie name as a string argument.
  2. Step 2: Verify the code usage

    Using driver.delete_cookie('user') correctly deletes the cookie named 'user'.
  3. Final Answer:

    No error; this is the correct way to delete a cookie by name -> Option D
  4. Quick Check:

    delete_cookie('name') is correct syntax = C [OK]
Hint: delete_cookie takes cookie name string, not dict [OK]
Common Mistakes:
  • Using camelCase method names
  • Passing dict instead of string
  • Confusing delete_cookie with delete_all_cookies
5. You want to test a website's behavior when a cookie named theme is set to dark. Which sequence of Selenium Python commands correctly sets this cookie, verifies it, and then deletes it?
hard
A. driver.add_cookie({'name': 'theme', 'value': 'dark'})\ncookie = driver.get_cookie('theme')\nassert cookie['value'] == 'dark'\ndriver.delete_cookie('theme')
B. driver.add_cookie('theme', 'dark')\ncookie = driver.get_cookie('theme')\nassert cookie == 'dark'\ndriver.delete_cookie('theme')
C. driver.add_cookie({'theme': 'dark'})\ncookie = driver.get_cookie('theme')\nassert cookie['value'] == 'dark'\ndriver.delete_cookie('theme')
D. driver.add_cookie({'name': 'theme', 'value': 'dark'})\ncookie = driver.get_cookie('theme')\nassert cookie == 'dark'\ndriver.delete_cookie('theme')

Solution

  1. Step 1: Add cookie with correct dictionary format

    Use add_cookie({'name': 'theme', 'value': 'dark'}) to set the cookie properly.
  2. Step 2: Retrieve cookie and assert its 'value'

    Get the cookie dict with get_cookie('theme') and check cookie['value'] == 'dark'.
  3. Step 3: Delete the cookie by name

    Use delete_cookie('theme') to remove the cookie after test.
  4. Final Answer:

    Correct sequence with dict, assert on value, and delete by name -> Option A
  5. Quick Check:

    add_cookie dict + get_cookie['value'] + delete_cookie(name) = B [OK]
Hint: Add cookie with dict, assert value key, delete by name [OK]
Common Mistakes:
  • Passing cookie as separate args instead of dict
  • Asserting cookie object equals string
  • Using wrong keys in cookie dict
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