Bird
Raised Fist0
Selenium Pythontesting~15 mins

Cookie management in Selenium Python - Build an Automation Script

Choose your learning style10 modes available
Verify cookie management on example.com
Preconditions (2)
Step 1: Open browser and navigate to https://example.com
Step 2: Add a cookie with name 'test_cookie' and value 'cookie_value'
Step 3: Retrieve the cookie named 'test_cookie' and verify its value is 'cookie_value'
Step 4: Delete the cookie named 'test_cookie'
Step 5: Verify that the cookie named 'test_cookie' no longer exists
✅ Expected Result: The cookie 'test_cookie' is added, verified, deleted, and confirmed absent successfully.
Automation Requirements - Selenium with Python
Assertions Needed:
Assert that the cookie 'test_cookie' exists after adding
Assert that the cookie value is 'cookie_value'
Assert that the cookie 'test_cookie' does not exist after deletion
Best Practices:
Use explicit waits if needed before cookie operations
Use Selenium's cookie management API methods
Keep test steps clear and assertions precise
Automated Solution
Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import unittest

class TestCookieManagement(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(service=Service())
        self.driver.get('https://example.com')

    def test_cookie_management(self):
        driver = self.driver

        # Add cookie
        cookie = {'name': 'test_cookie', 'value': 'cookie_value'}
        driver.add_cookie(cookie)

        # Retrieve cookie and verify value
        retrieved_cookie = driver.get_cookie('test_cookie')
        self.assertIsNotNone(retrieved_cookie, "Cookie 'test_cookie' should exist")
        self.assertEqual(retrieved_cookie['value'], 'cookie_value', "Cookie value should be 'cookie_value'")

        # Delete cookie
        driver.delete_cookie('test_cookie')

        # Verify cookie is deleted
        deleted_cookie = driver.get_cookie('test_cookie')
        self.assertIsNone(deleted_cookie, "Cookie 'test_cookie' should be deleted")

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

This test uses Python's unittest framework with Selenium WebDriver.

setUp: Opens Chrome browser and navigates to example.com.

test_cookie_management: Adds a cookie named 'test_cookie' with value 'cookie_value'. Then it retrieves the cookie and asserts it exists and has the correct value. Next, it deletes the cookie and asserts it no longer exists.

tearDown: Closes the browser after the test.

This structure keeps tests clean and easy to understand. Assertions check each step clearly.

Common Mistakes - 3 Pitfalls
Trying to add a cookie before navigating to any page
Using hardcoded waits instead of checking page load before cookie operations
Not verifying if the cookie exists before accessing its value
Bonus Challenge

Now add data-driven testing to add and verify cookies with 3 different name-value pairs.

Show Hint

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