Selenium WebDriver UI Testing

3 minutes read

Load Focus is a Cloud Load Testing Service. You can stress your app/website/API with thousands of concurrent users from all over the world.

In order to write UI tests with Selenium WebDriver you need to be able to identify web page elements fast and in an accurate way. You don’t want to revisit these selectors very often so you must choose the right selector from the beginning.

There are some browser tools that you can use in order to identify web elements in the DOM easier. These are:

  • Firebug for Firefox
  • Google Developer Tools for Chrome
  • Web Inspector for Safari

You can also create automated website tests for free with

Selenium WebDriver API supports different possibilities to identify elements: by ID, by CLASS, by NAME, by CSS selector, by XPath, by TAG name. Also you define your custom selector in order to interact with the elements.

It’s always a good practice to assign unique IDs to elements, also names and classes in order to be more usable for automatic UI tests. If that is not possible you’ll need to use advanced or XPath selector to interact with those elements. The most popular selectors are the CSS selectors due to performance and simplicity reasons.

To inspect an element you just have to open the desired web page, right-click the desired element and click on Inspect Element. A new panel will open showing the desired element. Also you can inspect other elements by clicking on the cursor in the top left side of the Developer Tools or Firebug panels and hovering page elements.

Locating Elements with Selenium WebDriver, findElement() method returns and WebElement and findElements() returns a list of WebElements.

1. By ID:

 in Java: driver.findElement("element id")) 

2. By CLASS:

 in Java: driver.findElement(By.className("element class"))

3. By NAME:

in Java: driver.findElement("element name"))


 in Java: driver.findElement(By.tagName("element html tag name"))

Load Testing Performance Testing

1 minute read

If you want to check the performance improvement or degradation of your web application between two builds you need to do the following:

  • decide what part of your application you want to compare – page rendering, API response time, CPU or memory of the two builds
  • create a Apache JMeter performance test script
  • run the load/ performance test against the first version of your application
  • monitor the system under test and save the test results
  • deploy the new build on the same environment (same hardware and network connection)
  • run the same test and compare results

You should be careful that the performance test in run under the same system.
You can also use the compare functionality that Load Focus (Cloud Load and Performance Service) offers. Load Focus saves all your tests configuration and test results.

You can very easily select two test runs and compare them on the same chart. You can compare the Response Times, Latency, Throughput, Bytes/second, and other metrics. Sign Up and give it a try, I’ll make your life easier and no test results will be lost any more.

Apache JMeter Load Testing Performance Testing Uncategorized

1 minute read

If you want to stress your application with Apache JMeter you will try to start a load/performance test from JMeter with a lot of threads or concurrent users.

You have an example in our previous post how to create a simple GET performance test for a web application or web site.

Let’s return to our question, the number of threads that you can start from your machine it first depends on its hardware capabilities CPU, Memory. Apache JMeter is a Java application with a good UI interface, very easy to design new tests, however if you want to run load or performance tests you should run the JMeter test (.jmx file) from the Command Line. This way you will be able to start a lot more concurrent threads.

As an average you can start between 200-250 threads on a single machine, with a maximum of 300 threads. Before starting the actual test, you need to do a dry run from the injector machine and inspect when the tests start failing and limit the maximum number of threads per thread group.

To run a load or performance test with your own Apache JMeter script you can use Load Focus Cloud Load and Performance testing service which allows you to do the following:

  • select the number and location of injector machines (for example North America, Asia, Europe etc)
  • upload your own JMeter test script (.jmx) on the injector machines
  • run the test and monitor the execution log and live results

You can also upload different scripts on different machines so that you can check different scenarios like check your Sign Up functionality while the site is under heavy load.

Amazon Web Services Apache JMeter Cloud Services Load Testing

1 minute read

LoadFocus launches today the cloud load and performance testing service powerful enough to stress a web application or API with thousands of concurrent users.

Based on Apache JMeter open source project and hosted in the cloud, LoadFocus is designed for software developers, QA (Quality Assurance) engineers and product owners to run accurate load and performance tests with minimum costs.

load testing results

As we can see nowadays there are numerous web applications and APIs that appear everyday which requires load and performance assessments.

However, the existing commercial and professional load testing solutions are too expensive and too complex to meet real world requirements. The open-source load testing tools, like JMeter, are limited in terms of scalability for the requirements of enterprise and high-traffic web applications.

Once you sign up with, the only cost you will have is running the injector machines (Amazon EC2 instances).
The cost depends on the type of machine you’re using and the duration of the load test. provides unlimited testing capacity, interactive real-time reporting and comprehensive result analysis integrated with mobile devices.

Click here to try it now!

Load Testing Performance Testing

1 minute read

Let’s say that you want to access a web service or a web page. The response time that you can see with different tools is a sum of the server processing time of the request and the delay involved for your request to reach to server and back.

This is getting more important when remote data centers are hosting the web page or web service.

Latency + Processing Time = Response Time

You can have a look at the latency vs. response time chart as you need to understand these different aspects of the system, and it is important for all the parties involved to know the difference between the two when they are doing a performance analysis.

You can use LoadFocus in order to stress test your application or API, inspect the latency and response time for all requests.

latency and response time

Apache JMeter Load Testing Performance Testing

1 minute read

In order to create a new Cloud Apache JMeter Load Test with Load Focus all you need to do is follow the steps below:

1. Select New JMeter test

load test

2. Enter the name of the test and upload the Apache JMeter test script files (.jmx)

Here are the steps in more detail

– log into your account from
– click on the Apache JMeter -> New Test menu item from left side of the web page
– on the webpage insert a Test Run Name (i.e. First JMeter Script GET Load Test for
– upload your Apache JMeter .jmx script file that will execute the load test
– select the Location of the injector machine and the type of the machine
– you can upload a new file to execute in parallel a new .jmx script file

You can either Save the configuration or directly Execute the test.

If you are not familiar with Apache JMeter you can check the Apache JMeter Performance Testing tutorial or run a General Test with Load Focus.

Cloud Services Load Testing Performance Testing

2 minutes read

It is very easy to create a New General Load Test configuration, all you need to do is follow the steps below:

Click on the General Test Button

load test

Enter a new name for your General Test

Screen shot 2013-07-24 at 3.01.07 AM

Select the request type GET or POST and details for injector machines

Screen shot 2013-07-24 at 3.03.17 AM

Add Load Test details: threads, loops, URL and delay:

Screen shot 2013-07-24 at 3.03.49 AM

Here are the steps in more details:

  • log into your account
  • click on the General Test -> New Test from the URL
  • on the URL enter the Test Run Name (i.e. First GET Load Test for
  • click on the “New Machine” button from the right side of the page
  • select the type of the request (GET or POST) from the New Machine area
  • you may select the geographical location of the injector machine – this will represent the location from where the users will hit your application
  • you may select also the Amazon Web Services machine type used for the test – the more concurrent users added the bigger the instance should be
  • GET Request, Request Label: GET, URL:, Threads (concurrent users): 100, Delay (seconds) 1, Loop count: 3
  • This configuration will execute 300 sample requests
  • you can duplicate this type of request to add other 100 thread x 3 loops in parallel
  • also you can add another type of requests: you can select a different location or type for the injector machine and a different number of threads, delay and loops

You can either Save the configuration or directly Execute the test.