How to run Python Selenium script?

Mariah 55 Published: 12/01/2024

How to run Python Selenium script?

To run a Python Selenium script, you'll need to have the following:

Python installed: Make sure you have Python installed on your computer. You can download the latest version from the official Python website. Selenium WebDriver: You'll need to install the Selenium WebDriver that is compatible with your browser of choice (e.g., Chrome, Firefox, Edge). Here are some ways to install: Using pip: Run pip install selenium in your terminal. Manually download and extract: Download the appropriate WebDriver from https://chromedriver.chromium.org/ (for Chrome) or http://ftp.mozilla.org/pub/mozilla.org/projects/gecko/drivers/, then place it in a directory, for example /usr/local/bin/chromedriver or C:Python39Scriptsgeckodriver.exe. Finally, use the following Python code: from selenium import webdriver; driver = webdriver.Chrome('/path/to/chromedriver') A compatible browser: Ensure you have the same version of your chosen browser (e.g., Chrome) installed on your computer. Your script ready to run: Make sure you have written a working Python Selenium script that contains the following: Importing selenium and/or other necessary modules. Initializing the WebDriver using webdriver.Chrome() or similar functions for other browsers (e.g., Firefox, Edge). Navigating to the desired webpage using .get(). Performing actions on the webpage (e.g., clicking, filling forms) if needed. Closing the WebDriver when you're done: .quit().

Here is an example of a basic Python Selenium script that navigates to Google and searches for "Python":

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

Create a new instance of the Chrome driver

driver = webdriver.Chrome('/path/to/chromedriver')

Navigate to Google

driver.get("https://www.google.com")

Search for "Python"

search_box = driver.find_element_by_name('q')

search_box.send_keys("Python")

search_box.submit()

Close the browser window

driver.quit()

Run your script: Open a terminal or command prompt, navigate to the directory where your script is saved, and run it using Python: For macOS/Linux: python3 your_script_name.py For Windows: python your_script_name.py (replace your_script_name.py with the actual name of your script file)

That's it! With these steps and a working script, you should be able to run your Python Selenium script.

How to automate test cases in Selenium Python?

To automate test cases using Selenium with Python, you can follow these steps:

Step 1: Install Selenium

First, you need to install Selenium. You can do this by running the following command in your terminal:

pip install selenium

This will install the Selenium WebDriver package for Python.

Step 2: Choose a Browser

Next, you need to choose which browser you want to test with. Selenium supports several browsers including Chrome, Firefox, Edge, and Safari. You can download the corresponding driver executable (e.g., ChromeDriver for Google Chrome) and place it in your project directory or specify the path to the executable when creating the WebDriver instance.

Step 3: Write Your Test Code

Now that you have Selenium installed and a browser chosen, it's time to write your test code. This involves creating a Python class with methods that represent individual test cases. Each test case should cover specific scenarios or functionality in your web application.

For example:

import unittest

from selenium import webdriver

class TestLogin(unittest.TestCase):

def setUp(self):

self.driver = webdriver.Chrome()

def test_login_success(self):

Navigate to the login page

driver = self.driver

driver.get("https://example.com/login")

Enter valid credentials

driver.find_element_by_id("username").send_keys("valid_username")

driver.find_element_by_id("password").send_keys("valid_password")

Submit the form

driver.find_element_by_name("submit").click()

Verify that the user is logged in

assert driver.title == "Logged In"

driver.quit()

def test_login_failure(self):

Navigate to the login page

driver = self.driver

driver.get("https://example.com/login")

Enter invalid credentials

driver.find_element_by_id("username").send_keys("invalid_username")

driver.find_element_by_id("password").send_keys("invalid_password")

Submit the form

driver.find_element_by_name("submit").click()

Verify that the user is not logged in

assert driver.title == "Invalid Credentials"

driver.quit()

def tearDown(self):

self.driver.quit()

if name == "main":

unittest.main()

In this example, we have a TestLogin class with two test methods: test_login_success and test_login_failure. Each method represents a specific login scenario and covers the corresponding functionality in your web application.

Step 4: Run Your Tests

Finally, you can run your tests using the unittest.main() function. This will execute each test method in sequence and report any failures or errors.

Tips:

Make sure to import the necessary modules (e.g., selenium, unittest) at the top of your script. Use meaningful variable names and comments to make your code easier to understand. Consider using a test framework like Behave or Pytest for more advanced testing scenarios. Always clean up after each test by closing the browser window to avoid leaving unwanted tabs open.

By following these steps, you can write effective test cases using Selenium with Python. Happy testing!