ecommerce,

Automating E-commerce Testing with GitHub Actions and Selenium

Coding Rhodes Coding Rhodes Follow Nov 12, 2024 · 5 mins read
Automating E-commerce Testing with GitHub Actions and Selenium
Share this

Automated testing is essential for e-commerce platforms. Every feature, from product browsing to checkout, must work smoothly. Automated testing lets you detect bugs early and keep the site reliable for users. With GitHub Actions and Selenium, you can set up automated UI tests to run each time you update the code, ensuring every change is thoroughly tested.

This guide will show you how to set up automated tests for an e-commerce site using Selenium in GitHub Actions. We’ll cover the basics, explain the benefits, and walk through each step to create an automated testing workflow.

Why Use Automated Testing for E-commerce?

Automated testing brings several benefits to e-commerce teams:

Flowchart showing integration between GitHub Actions and Selenium for automated e-commerce testing.

  1. Catch Errors Early: Automated tests check your website every time you make a change, helping to find issues quickly.
  2. Consistent User Experience: Regular testing makes sure key user interactions, like searching and checking out, work smoothly.
  3. Save Time and Effort: Automation reduces the time spent on manual testing, so the team can focus on improving the site.
  4. Improve Stability: Automated testing helps to keep the website stable and reliable, increasing customer trust.

Step 1: Set Up Your GitHub Repository

To get started, create a new repository on GitHub or use an existing one where your e-commerce code is stored.

  1. Create a Repository Go to GitHub and click on New Repository. Give it a name, and set it to public or private.
  2. Clone the Repository Clone the repository to your local machine:
    git clone https://github.com/username/your-repository.git
    

Step 2: Install Selenium for Automated Testing

Selenium is a popular tool for automating web browsers. You can write test scripts in Python to automate tasks like navigating, clicking buttons, and filling out forms.

  1. Install Selenium Make sure you have Python installed, then install Selenium with this command:
    pip install selenium
    
  2. Set Up WebDriver Selenium uses WebDriver to interact with browsers. Download the WebDriver for your preferred browser (e.g., ChromeDriver for Chrome). Place it in your project folder.

Step 3: Write a Selenium Test Script

Now, write a simple test script that automates a key function on your e-commerce site. Let’s say we want to test the search function to ensure it works properly.

  1. Create a New File.
    In your repository, create a file called test_search.py.

  2. Write the Test Code.
    Here’s an example of a simple Selenium test in Python:
     from selenium import webdriver
     from selenium.webdriver.common.by import By
     from selenium.webdriver.common.keys import Keys
     import time
    
     #Set up the WebDriver
     driver = webdriver.Chrome(executable_path='./chromedriver')
    
     Open the e-commerce site
     driver.get("https://example-ecommerce.com")
    
     #Find the search bar and perform a search
     search_bar = driver.find_element(By.NAME, "search")
     search_bar.send_keys("laptop")
     search_bar.send_keys(Keys.RETURN)
    
     Pause to let the page load
     time.sleep(2)
    
     #Verify search results appear
     results = driver.find_elements(By.CLASS_NAME, "product-item")
     assert len(results) > 0, "No search results found."
    
     #Close the browser
     driver.quit()
    
  3. Save the File.
    Save test_search.py to your project folder.

Step 4: Set Up GitHub Actions for Automated Testing

GitHub Actions lets you run tests automatically. Each time you push code to the repository, GitHub will run the test.

GitHub Actions workflow running automated tests for an e-commerce store using Selenium.

  1. Create a Workflow File In your repository, create a new directory: .github/workflows/. Inside, create a file named test.yml.

  2. Configure the Workflow Open test.yml and add the following YAML code:
     name: Run Selenium Tests
    
     on:
     push:
         branches:
         - main
     pull_request:
         branches:
         - main
    
     jobs:
     test:
         runs-on: ubuntu-latest
    
         steps:
         - name: Checkout Repository
         uses: actions/checkout@v2
    
         - name: Set up Python
         uses: actions/setup-python@v2
         with:
             python-version: '3.x'
    
         - name: Install Dependencies
         run: |
             python -m pip install --upgrade pip
             pip install selenium
    
         - name: Run Tests
         run: |
             python test_search.py
    
  3. Save and Push Changes Add, commit, and push your changes to GitHub:
     git add .
     git commit -m "Set up Selenium tests with GitHub Actions"
     git push origin main
    

    GitHub Actions will automatically run your test whenever you push changes to the main branch or open a pull request.

Step 5: View the Test Results

Each time the workflow runs, you can view the test results on GitHub.

  1. Open the GitHub Repository Go to the Actions tab in your repository.
  2. Check the Workflow Run You’ll see a list of recent workflow runs. Click on the latest run to view details.
  3. Review Test Output If the test passes, you’ll see a green checkmark. If it fails, review the output to find any issues.

Tips for Effective E-commerce Test Automation

  1. Automate Key User Actions: Focus on automating essential actions, like adding items to the cart, checking out, and searching for products.
  2. Run Tests Regularly: Set up tests to run on each code change to catch errors before they affect users. Monitor Test Results: Keep an eye on your test results and fix any failures promptly. Consistently passing tests show your site is reliable.

Conclusion

Using GitHub Actions and Selenium together makes it easy to automate testing for your e-commerce site. With automated tests, you can keep your site functioning smoothly, catch issues early, and improve the overall shopping experience.

Here’s a quick recap of the steps:

  1. Set up your GitHub repository.
  2. Install Selenium and create a test script.
  3. Configure a GitHub Actions workflow to run the test.
  4. Monitor the test results to ensure your site is running smoothly.

Automated testing with GitHub Actions and Selenium can help maintain a robust e-commerce site, giving users a seamless experience while saving time for your team.

Join Newsletter
Get the latest news right in your inbox. We never spam!
Coding Rhodes
Written by Coding Rhodes Follow
Hi, I am Coding Rhodes, the author of this article, Do let me know If you have any Questions