Auto Scale Selenium Hub with Zalenium

Selenium-Hub Autoscale Issue —

  • – Selenium Grid is resource consuming & Not container based.
  • – Running multiple test creates issue with scaling or increased Test Cases.
  • – Can’t auto scale.
  • – Scaling with docker alone with cloud testing provider.

Zalenium : –
A flexible and scalable container based Selenium Grid with video recording, live preview, basic auth & dashboard.

1,282 total views, 15 views today


Step by Step Selenium With Python – Part 1

In this series, We going to learn about the create a Test Suite in the Python. Let’s not waste much of the time lets start as quickly as possible.

Things you know before.

1. Selenium – Testing Framework
2. Python – Basic Python Syntax. – Please install it before proceeding.
3. Brain 😛

About Selenium :

Running selenium server

If you have no clue what is selenium is,Read about Selenium in my other tutorials or you can have a look here for the more, Just for the quick reference, Selenium is Automation framework written in the java that allows you to automate the web application with the different languages support e.g Python,Javascript, Java, Ruby.You can write functional/acceptance tests using Selenium WebDriver.


Installing Python bindings for Selenium

Running selenium serverGo to Command prompt or Terminal in the Mac and Type.
Make sure pip is installed on your system.(If not you can install it using this link here)

It will install the python binding for the selenium  to your system.

Step 1 : Running Selenium Server and Install Python Selenium bindings

Let’s run the Selenium Server that listens to our command/Test cases written python and execute them in the browser. Make sure java is installed on your system and its available in the path. If not follow this tutorial. And set up to path here
Download – Selenium server here.

You will see something like this on the command line.

Running selenium server

Selenium Server is up and Running.

Step 2 : Creating a Basic Test in the Selenium with Python and Run it.

Create a File in the Pycharm ( Python Editor) e.g I have made a Folder structure for the upcoming  tutorials also. So This part is Part 1 and I have one file that will have the code for the First Test case in python.

In the File, we are going

1. Import the selenium web driver.
2. Create a driver object from FirefoxDriver Class and Open the Borwser.
3. Use get method to go to the URL.
4. Assert the title and Close the Brower.

Run the Test by

File run using python:

Python test running using Pycharm

Python test running using Pycharm

So we have successfully run our first Test, Let’s move to the other Tutorial in the Next Part2.
Hope to see you guys in the next part.


Using Appium with Python : Introduction

In this series of blogs, I will discuss about the appium (test automation framework  for mobile apps). We will discuss about how you can
automate your android mobile apps and save your testing hours. I will cover appium with python client and for android only.

Appium is an open source test automation framework for use with native, hybrid and mobile web apps.It drives iOS and Android apps using the WebDriver protocol.

Here is the basic architecture of Appium , How it interact with Android / ios client.

System Installation


On Windows Appium Installation :
Please install these basic requirements that are import run Python client in Appium.
  1. PyCharm( python editor)
  2. Appium.exe
  3. Python 2.7 or 3.0 (Pip configured)
  4. Python client Appium
  5. Android SDK install latest(Added to Path).
  6. Java – Added to Path(Optional)
  7. Selenium module of python
  8. unittest /nose module of python.

Make sure you set up environment variables correctly before executing any script. All these variables should be set under ‘System variables’ not in ‘User variables’.

  • C:\Program Files\Java\jdk1.8.0_25
  • D:\Android_Development\android_sd
  • PATH variable (this contain System32 , platform-tools , tools ,jdk bin set) –
    • C:\Windows\System32;D:\Android_Development\android_sdk\platform-tools;%JAVA_HOME%\bin;D:\Android_Development\android_sdk\tools;

Installing Selenium and Python Appium client.

Make sure you have pip install on windows(Check out my other post how you can do this).

Now you are ready to write your first Test case using python client in Appium. In the next blog We will write a basic test program that open a  App and Do certain task and close it after. Please comment down if you face any issue or need help.


Selenium TestCases with Holmium in Python

Holmium core is nose plugin that provides utilities for simplifying the creation and maintenance of tests that rely on Selenium. Holmium introduce concept of Page Objects reduces the coupling and allow test authors to separate the layout of the page under test and the functional behaviour being tested.This separation also results in more maintainable test code.

Installation of the Holmium:
Assuming you have Nose module installed on the Machine. If not check out my Nose installation post.

[code]pip install holmium.core[/code]

Importing Holmium in Project:
First you have to Import the the TestCase, Page , Element and Locators.

[python]from holmium.core import TestCase, Page, Element, Locators, ElementMap
import unittest[/python]

Adding Test Cases:
Lets add Login Test Cases into the project with the Login functionality. Create a class LoginPage ( A Page object class) with inherit the Page of the Holmium.core and will be used to get the elements on the that page and sending keys to them.

[python]class LoginPage(Page):
userNameText = Element(Locators.NAME, ‘userName’)
passwordText = Element(Locators.NAME, ‘password’)
submitButton = Element(Locators.NAME, ‘login’)</pre>
def login(self):

Lets add another class LoginTest which inherit the Test Case from the Holmium.core and only be used to assert the desired functionality.

[python]class LoginTest(TestCase):
def setUp(self): = LoginPage(self.driver,

def test_Login(self):
"Find a Flight: Mercury Tours:")

def tearDown(self):

Running the Code with the nose:

Final code with Running Test results.

Source Code Here.