Month: September 2015

Website Functional testing using Browser automation

Website Functional testing using Browser automation

Introduction-

Website Functional testing using Browser automation is very important and better than just monitoring url with 200 OK! Your Application or Website URL may be working fine but this doesn’t mean that all components are working fine. So testing your Web Application functionalities with screenshot is important in cloud based product and Uptime Reporting for Customers.

Few years back I wrote article “Firefox yslow and Showslow for Website testing and performance” Ref url- http://www.indiangnu.org/2012/firefox-yslow-and-showslow-for-website-testing-and-automation/

The Mechanize library is used for automating interaction with websites and available for Perl, Python and Ruby..
URL-
http://search.cpan.org/~ether/WWW-Mechanize-1.75/lib/WWW/Mechanize.pm
http://wwwsearch.sourceforge.net/mechanize/
https://pypi.python.org/pypi/mechanize/
http://mechanize.rubyforge.org/

There are several wrappers around “Mechanize” designed for functional testing of web applications: zope.testbrowser and twill

Top 5 Products for “Website Functional testing using Browser automation”…

1) Selenium Browser Automation (http://www.seleniumhq.org) –
Selenium automates browsers. Selenium is a portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language (Selenium IDE). Selenium WebDriver is the successor to Selenium RC. Selenium WebDriver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. This is implemented through a browser-specific browser driver, which sends commands to a browser, and retrieves results. Most browser drivers actually launch and access a browser application (such as Firefox or Internet Explorer); there is also an HtmlUnit browser driver, which simulates a browser using HtmlUnit.

Selenium Grid- Selenium Grid is a server that allows tests to use web browser instances running on remote machines. With Selenium Grid, one server acts as the hub. the hub has a list of servers that provide access to browser instances (WebDriver nodes)

2) Splinter (https://splinter.readthedocs.org) –
Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. It supports multi webdrivers (chrome webdriver, firefox webdriver, phantomjs webdriver, zopetestbrowser, remote webdriver), support to iframe and alert and execute javascripts.

3) twill (http://twill.idyll.org) –
twill: a simple scripting language for Web browsing. twill is a simple language that allows users to browse the Web from a command-line interface. With twill, you can navigate through Web sites that use forms, cookies, and most standard Web features.

4) zope.testbrowser (https://pypi.python.org/pypi?:action=display&name=zope.testbrowser) –
zope.testbrowser provides an easy-to-use programmable web browser with special focus on testing. It is used in Zope, but it’s not Zope specific at all. For instance, it can be used to test or otherwise interact with any web site.

5) PAMIE  (http://pamie.sourceforge.net) –
P.A.M.I.E. – stands for Python Automated Module For I.E.  Pamie’s main use is for testing web sites by which you automate the Internet Explorer client using the Pamie scripting language. Simply create a script using the free PythonWin IDE that comes with the win32all extensions. import cPAMIE and use the Pamie Scripting Language (PSL) to write a script that simulates a user navigating a web site. It’s simple to use.

There are many product available for web site monitoring…

http://www.monitor.us/
https://ghostinspector.com/
https://www.browserstack.com
https://www.alertbot.com/
https://www.pingdom.com/

Thank you,
Arun Bagul

Configuration management database (CMDB)

Configuration management database (CMDB)

CMDB-
Configuration management database (CMDB) is a repository that acts as a data warehouse for information technology (IT) organizations. Its contents are intended to hold a collection of IT assets that are commonly referred to as configuration items (CI), as well as descriptive relationships between such assets. A Configuration item type (or CI Type) is the data type of the element or configuration item an enterprise wishes to store within the CMDB. At a minimum, all software, hardware, network, and storage CI Types are stored and tracked in a CMDB.

Top 5 CMDB Tools-

1) Combodo iTOP-

IT Operations Portal: a complete open source, ITIL, web based service management tool including a fully customizable CMDB, a helpdesk system and a document management tool. iTop also offers mass import tools and web services to integrate with your IT.

2) OneCMDB –

OneCMDB is a CMDB aimed at small and medium sized businesses. OneCMDB can be used as a stand-alone CMDB to keep track of software and hardware assets and their relations. Thanks to its open API:s it can also be a flexible and powerful Configuration Management engine for other Service Management software.

3) i-doit –

i-doit allows a rich amount of technical information to be filed for each element from a wall outlet to a mainframe in a structured way. Every employee can access this information easily (and in a selective way) through a web browser. Due to its modular architecture, it is possible to deploy functionality add-ons or develop extensions.

4) CMDBuild –

CMDBuild is a configurable web application to model and manage a database containing assets (CMDB stands for “Configuration and Management Data Base”) and handle related workflow operations.
The aim is to let the operators have full control of the assets used, knowing exactly composition, dislocation, functional relations and history.

5) HP UCMDB (Commercial) –

UCMDB is a CMDB software product produced by Hewlett Packard supporting ITIL Configuration Management and which features a Configuration Management Database, as well as a mechanism for the automatic discovery of IT infrastructure components, such as computers, network devices and composing relationships between them.

Thank you,
Arun