Mobile Center Architecture

Those who are new to Mobile Center, please refer to my previous post about Mobile Center Introduction. We will be covering the high level overview and its architecture in this post.

Broadly, Mobile Center has 2 components:

  1. Mobile Center Server
  2. Mobile Center Connector

Mobile Center Server provides:

  • connection between testing tools (UFT, LeanFT etc) and Mobile Devices
  • User Interface to record and run tests on Real Devices
  • Lab Console to manage devices and users
  • PostgreSQL database storing reusable data, such as Metadata of uploaded apps and connectors, certificates, user information, and so forth

Mobile Center Connector allows communication between Mobile Devices and Mobile Center Server. It is installed automatically with Mobile Center Server, however, it can also be installed as standalone component on different machines.

Following figure shows the Mobile Center components and depicts the relationship between them:

Following connector deployment scenarios are supported:

  1. Devices can be connected to a machine on which Mobile Center Server is installed (as Connector is automatically installed with Server)
  2. Connector can be installed as standalone component on several machines in distributed locations

In the next post, we will be looking into the installation of Mobile Center Server component.

Tagged with: , , , , , , , , , ,
Posted in Mobile

What is HP Mobile Center ?

Mobile Center is a software solution provided by HP to test mobile applications that integrates with a host of HP Testing tools. Following is the list from HP Site:

  1. UFT
  2. Lean FT
  3. BPT
  4. LoadRunner
  5. Performance Center
  6. ALM
  7. Sprinter
  8. Network Virtualization
  9. Business Process Monitor
  10. AppPulse Mobile
  11. Appium

It supports both Real Devices and Emulators to provide on-premise Mobile Lab. It supports following Emulators:

  1. Genymotion
  2. Android SDK Emulator

It can also be configured to run tests on mobile devices from Amazon Devices Farm (ADF) and allows integration with a CI tool such as Jenkins with the help of a Plugin

In the next post, we will be discussing about the high level architecture of Mobile Center.

Tagged with: , , , , , , , ,
Posted in Mobile

Selenium Training Programme

Selenium, without any doubt is the King of Web-Automation. If you’ve landed on this page, I’m sure you want to be a Selenium Pro.

Learn2Automate is offering a comprehensive and hands-on Selenium Training that will kick-start your journey from becoming a QA(Quality Analyst) to SDET(Software Development Engineer in Test).

Highlights of the Training:-

  1. Extensive Coverage of C#/Java before starting the course.
  2. Course Customization based on Individual needs.
  3. Basic and Advanced Level Selenium Commands.
  4. Ready to use Automation Frameworks as well as API’s covered in Depth.
  5. Will enable you to create a Framework from scratch.
  6. Online Training (in-person) over Skype is also an option.
  7. Corporate Batches can also be undertaken.
  8. Lifetime support for Issues.

For more details, just drop an email to !

Happy Automating !

Harshit Kohli

Tagged with: , , ,
Posted in Trainings

How to Execute UFT Test Silently

HP provides less known utility along with UFT that also allows user to execute UFT Tests Silently (without opening UFT GUI). Actually, there are 2 ways to achieve this:

  1. Using Silent Test Runner: This utility is located at <UFT Installation Directory>\bin\ SilentTestRunner.exe To execute the Test silently, just launch the utility, select the Test that needs to be executed and click on Run Test button.Silent Test Runner provides test run information in log files. Each test generates a test run log, and  any test with transactions generates an additional transaction summary. The test run log is saved as output.txt in the <Unified Functional Testing>\Tests\<test name> folder. The transaction summary is saved as transactions.txt in the <Unified Functional Testing>\Tests\<test name> folder. A log/transactions summary file is saved for each test run with Silent Test Runner and is overwritten when you rerun the test.silent_test_runner
    2.Using mdrv.exe:  To execute the test from command line, user just needs to invoke the following command from command prompt. As shown in the following snapshot, we need to provide full path of usr file of the Test that user needs toexecute as a parameter to mdrv.exe
    This usr file is present inside every UFT Test and is created automatically.

         Few points that needs to be considered while executing Tests silently:

  • Only one Test can be executed silently at a time
  • There should not be any error in the Test as Test exits on encountering an error without giving any message
  • There should not be any msgbox statement in the executed Test
Tagged with: , , , , ,
Posted in Awesum Stuff

Types of Webservices (REST)

In the last post, we learnt about the intricacies of SOAP Webservices. In this post, we will learn and explore REST Webservices in detail.

REST stands for Representational State Transfer. It is a lightweight alternative to SOAP,RPC etc for data transfer. It uses HTTP as communication medium and  mostly JSON as message format. It is preferred to be consumed in mobile applications as it is lightweight in comparison to SOAP, however, it has no inbuilt security mechanisms. SOAP can be thought of as letter in an envelope whereas REST is postcard in this analogy. Before knowing more about REST, we need to understand HTTP messages.

HTTP Messages are made of a header and a body. The body can often remain empty; it contains data that you want to transmit over the network, in order to use it according to the instructions in the header. The header contains metadata, such as encoding information; but, in the case of a request, it also contains the important HTTP methods.

REST is basically a set of design principles consisting of resources and methods to access/manipulate those resources. Resources are best thought of as nouns. For example, the following is not RESTful because it uses a URL to describe an action.


HTTP Verbs are specified along with the request. Methods are then mapped to HTTP verbs/methods. Mostly, 4 HTTP verbs/methods are used (GET/PUT/POST/DELETE)

a) GET – It is used to request the resource
b) PUT – It is used to update the resource
c) DELETE – It is used to delete the resource
d) POST – It is used to create the resource.

Here, it is very important to know about Idempotent methods. These methods achieve the same result, no matter how many times the request is repeated. In the above 4 methods, GET, PUT and DELETE are idempotent methods whereas POST is non-idempotent method.

HTTP Responses contains response codes in its header that is basically a way of informing client about the results of its request. Following are some of the response codes:

a) 200 OK –  It indicates that the request was successful.
b) 201 Created – It indicates the request was successful and a resource was created.
c) 400 Bad Request – The request was malformed.
d) 404 Not Found – Required resource could not be found.
e) 401 Unauthorized  – Authentication needed / not successful.
f) 405 Method Not Allowed – HTTP method not supported for this resource.
g) 409 Conflict – This indicates a conflict. For instance, POST request is used to create the same resource twice.
h) 500 Internal Server Error – When all else fails; generally, a 500 response is used when processing fails due to unanticipated circumstances on the server side, which causes the server to error out.

In the next article, I will introduce you to new version of UFT (which has API Testing Capability)

Tagged with: , , , , , , , , , , , , ,
Posted in Awesum Stuff

Types of Webservices (SOAP)

In the last post, we learnt about the differences between API and Webservices. In this post, we will learn about the types of Webservices with SOAP Webservices in detail.

A Webservice needs the following entities to perform its operations:

1) Communication Medium
2) Messages Format

Webservices are basically of 2 types:


SOAP is an earlier form of webservice whereas REST is relatively new form of webservice introduced in favor of simplicity and speed.

1) SOAP stands for Simple Object Access Protocol. It was originally developed by Microsoft to replace older technologies that don’t work well on Internet such as DCOM and CORBA. It uses HTTP as communication medium (other protocols can also be used such as SMTP) and SOAP as message format. SOAP format is nothing but a standardized XML defining which content should go inside which node (envelope,body etc). One of the most important SOAP features is built-in error handling. If there’s a problem with the request, the response contains error information that can be used to fix the problem. This particular feature is extremely important in cases where user doesn’t generally own the service; otherwise debugging would be nightmare.

As told in the previous post, an application providing access to a service is called a service provider and the application using the service is called service consumer. To connect to a SOAP Webservice, some information is required (such as functions exposed by the service, port number on which service is accessible etc). Service Provider captures the required information in a XML file called WSDL (Web Service Description Language). There are 2 ways by which consumer can get the WSDL file to connect to particular Webservice provider.
a) Either consumer can get the WSDL file/URL directly from the provider
b) Consumer can get the WSDL file/URL from UDDI (Universal Directory for WSDL)

For second point, it is necessary for service provider to register the Webservice in UDDI using WSDL. UDDI (Universal Description, Discovery, and Integration) is an XML-based registry for businesses worldwide to list themselves on the Internet.

Below is the diagrammatic description of SOAP Webservices:


In the next post, we will learn about another type of Webservice (REST).

Tagged with: , , , , , , , , , , , , , , , ,
Posted in Awesum Stuff

Webservice vs API

To understand Web services clearly, one has to understand what an API is. API stands for Application Programming Interface. It is basically a set of functions exposed by an application/module to be used by another application/module. Under this terminology, the application using the exposed function is called Consumer and application that is exposing the functions is called Provider.

Although you can assume that a Web service is a subset of the generic term API,here are some of the subtle differences between API and Web services:

1) In API, both consumer and provider software reside inside same machine whereas in Web service, both software are in the different machines.
2) Network is not needed in case of API whereas both the machines should be connected to same network in case of Web service.
3) Web services are language independent whereas API can be language independent
4) Web services might not perform all the operations that an API would perform.They are mostly used when we want to request some data from the server.

From above points, we can infer that All Web services are APIs but all APIs are not Web services or we can also say that a Web service is simply an API wrapped in HTTP.



Tagged with: , ,
Posted in Awesum Stuff
Blog Stats
  • 168,304 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 796 other followers

%d bloggers like this: