Tech Kaizen

passion + usefulness = success .. change is the only constant in life

Search this Blog:

Showing posts with label TEST AUTOMATION. Show all posts
Showing posts with label TEST AUTOMATION. Show all posts

Selenium - Web Test Automation Framework

Selenium automates browsers. That's it. What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.

Selenium is a package of various test components which consists of the following three major tools. Each one has a specific role in aiding the development of test automation for a Web application.

  1. Selenium IDE – A Firefox extension to record test cases and suites.
  2. Selenium RC – Used to run tests on different browsers and systems.
  3. Selenium Grid – Runs multiple instances of Selenium RC at once.
  4. Qualitia and Tellurium – A wrapper for the Selenium engine.
ref:

Selenium - http://code.google.com/p/selenium/


Selenium downloads - http://code.google.com/p/selenium/downloads/list


Selenium Documentation - http://code.google.com/p/selenium/wiki/Documentation


Getting Started with WebDriver - http://code.google.com/p/selenium/wiki/GettingStarted

WebDriver Wiki - http://code.google.com/p/selenium/w/list?q=label:WebDriver


TestNG Documentation - http://testng.org/doc/documentation-main.html

Selenium Open Source Test Automation Framework Implementation Guide - http://www.open2test.org/QAT_Tech_Docs/Selenium_framework_implementation_guide.pdf

Selenium Tutorials and Videos - http://qtpselenium.com/selenium-tutorial/selenium-webdriver-example/


Introducing Webdriver - http://google-opensource.blogspot.com/2009/05/introducing-webdriver.html


Design Patterns that have worked well on WebDriver projects - http://code.google.com/p/selenium/wiki/DesignPatterns

Miscellaneous -

http://qaselenium.blogspot.com/

Posted by Krishna Kishore Koney
Labels: TEST AUTOMATION

JavaScript Engines

JavaScript is an object-oriented scripting language used to enable programmatic access to objects within both the client application and other applications. It is primarily used in the form of client-side JavaScript, implemented as an integrated component of the web browser, allowing the development of enhanced user interfaces and dynamic websites.

A JavaScript engine (also known as JavaScript interpreter or JavaScript implementation) is an interpreter that interprets JavaScript source code and executes the script accordingly. The first JavaScript engine was created by Brendan Eich at Netscape Communications Corporation, for the Netscape Navigator web browser.

There are now a ton of JavaScript engines on the market (even when you only look at the ones being actively used in browsers):

  1. JavaScriptCore: The engine that powers Safari/WebKit (up until Safari 3.1).
  2. SquirrelFish: The engine used by Safari 4.0. Note: The latest WebKit nightly for Windows crashes on Dromaeo, so it's passed for now.
  3. V8: The engine used by Google Chrome.
  4. SpiderMonkey: The engine that powers Firefox (up to, and including, Firefox 3.0).
  5. TraceMonkey: The engine that will power Firefox 3.1 and newer (currently in nightlies, but disabled by default).
  6. Futhark: The engine used in Opera 9.5 and newer.
  7. IE JScript: The engine that powers Internet Explorer.

ref:

http://ejohn.org/blog/javascript-performance-rundown/

Posted by Krishna Kishore Koney
Labels: TEST AUTOMATION

TCL Language(C/C++) Bindings

Tcl is able to quickly integrate a wide range of technologies, as well as to easily adapt to new technologies and changing end-user requirements. Therefore it is the integration platform of choice for increasing numbers of developers. TCL has in built Language Bindings for C/C++ languages.

Application invoking Tcl - An application(developed in c/c++) calling the Tcl interpreter
Tcl invoking Application - Tcl calling extensions(developed in c/c++)


Why extend Tcl?

Here are a few reasons:

1. To add domain-specific functionality to Tcl
2. To turn Tcl onto a "better Tcl" - or to support a different programming style
3. To interface the Tcl scripting environment to existing software libraries
4. To hide implementation details by providing only object code releases
5. To rewrite Tcl bottlenecks as C/C++ code for improved performance
6. As a way to incorporate Tcl in an existing body of C/C++ code
7. The last reason is actually the opposite of extending the Tcl environment - in this case, the Tcl interpreter becomes part of an existing application and activated when appropriate

How does a scripting language talk to an Application Language(C/C++)?

Scripting languages are built around a small parser that reads and executes statements on the fly as your program runs. Within the parser, there is a mechanism for executing commands or accessing variables. However, in order to access C functions and variables, it is necessary to tell the parser additional information such as the name of the function, what kind of arguments does it take, and what to do when it is called. Unfortunately, this process can be extremely tedious and technical. SWIG automates the process and allows you to forget about it. In any case, it's probably a good idea to know what's going on under the hood.

Wrapper functions

Suppose you have an ordinary C function like this:

int fact(int n)
{
if (n <= 1) return 1; else return n*fact(n-1); } In order to access this function from a scripting language, it is necessary to write a special "wrapper" function that serves as the glue between the scripting language and the underlying C function.
A wrapper function must do three things :

1. Gather function arguments and make sure they are valid.
2. Call the C function.
3. Convert the return value into a form recognized by the scripting language.


ref:

Modular tcl - http://www.amath.washington.edu/~lf/software/tcl++/

C++/Tcl - A C++ library for interoperability between C++ and Tcl -
http://cpptcl.sourceforge.net/

http://wiki.tcl.tk/11153

http://wiki.tcl.tk/2262

http://www.swig.org/Doc1.1/HTML/Scripting.html

http://www.beedub.com/book/3rd/Cprogint.pdf

http://hegel.ittc.ku.edu/topics/tcltk/

http://www.cs.ubc.ca/~heidrich/Papers/TclTk.95.pdf

http://www.mcs.sdsmt.edu/mcgough/tcltk/tcltk.html

Posted by Krishna Kishore Koney
Labels: TEST AUTOMATION

Web Test Automation Tools

HtmlUnit - A Java unit testing framework for testing Web based applications

Selenium - Cross Browser

Watij - IE only

Sahi - An automation and testing tool for web applications, with the facility to record and playback scripts

Canoo WebTest - A free Open Source tool for automated testing of web applications in a very effective way.

JMeter - Apache JMeter is a 100% pure Java desktop application

LoadSim - A web application load simulator

Groovy - Potentially in conjunction with a specialist HTML parser to parse HTML pages as if they were XML

References:

Open Source Web Testing Tools in Java -
http://java-source.net/open-source/web-testing-tools

Watij and Selenium -
http://www.suryasuravarapu.com/2007/10/watij-and-selenium-are-they-ready-for.html

Posted by Krishna Kishore Koney
Labels: TEST AUTOMATION

Opensource Testing Automation Frameworks/Tools Links FAQ

Links:

http://www.opensourcetesting.org/


http://www.developer.com/java/ent/article.php/3372151

http://www.sqa-test.com/toolpage.html

http://triumvir.org/articles/guitest-wd-mag/

http://www.tessella.com/Literature/supplements/pdf/autoGUI.pdf

http://www.manageability.org/blog/stuff/open-source-automated-test-tools-written-in-java/view

http://java-source.net/open-source/testing-tools

http://www.softwareqatest.com/qatweb1.html

http://www.aptest.com/resources.html

http://www.verifysoft.com/en_ctapp.html

http://www.parasoft.com/jsp/products/home.jsp?product=CppTest

http://www.veritest.com/services/scalability.asp

http://www.alertsite.com/web_load_testing.shtm

Why Unit Tests Matter and How They Will Save You Time - http://www.ddj.com/development-tools/208403755?cid=RSSfeed_DDJ_All

Posted by Krishna Kishore Koney
Labels: TEST AUTOMATION
Older Posts Home
Subscribe to: Posts (Atom)

The Verge - YOUTUBE

Loading...

Hard Fork Podcast

Loading...

Dwarkesh Patel Podcast

Loading...

SemiAnalysis Podcast (Dylan Patel)

Loading...

Andrej Karpathy Youtube Channel

Loading...

Microsoft Research

Loading...

Hugging Face - Blog

Loading...

AI at Wharton

Loading...

Stanford Online

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

HackerRank - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Tanay Pratap - YOUTUBE

Loading...

Ashish Pratap Singh - YOUTUBE

Loading...

Kantan Coding - YOUTUBE

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

MIT News - Artificial intelligence

Loading...
My photo
Krishna Kishore Koney
View my complete profile
" It is not the strongest of the species that survives nor the most intelligent that survives, It is the one that is the most adaptable to change "

View krishna kishore koney's profile on LinkedIn


Failure is not falling down, it is not getting up again. Success is the ability to go from failure to failure without losing your enthusiasm.

Where there's a Will, there's a Way. Keep on doing what fear you, that is the quickest and surest way to to conquer it.

Vision is the art of seeing what is invisible to others. For success, attitude is equally as important as ability.

Monthly Blog Archives

  • ▼  2026 (7)
    • ▼  July (2)
      • REST vs GraphQL
      • Nautobot: Opensource Network Source of Truth (NSoT...
    • ►  May (1)
    • ►  April (1)
    • ►  March (3)
  • ►  2025 (4)
    • ►  October (1)
    • ►  August (1)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (18)
    • ►  November (1)
    • ►  September (8)
    • ►  August (1)
    • ►  June (8)
  • ►  2019 (18)
    • ►  December (1)
    • ►  November (2)
    • ►  September (3)
    • ►  May (8)
    • ►  February (1)
    • ►  January (3)
  • ►  2018 (3)
    • ►  November (1)
    • ►  October (1)
    • ►  January (1)
  • ►  2017 (2)
    • ►  November (1)
    • ►  March (1)
  • ►  2016 (5)
    • ►  December (1)
    • ►  April (3)
    • ►  February (1)
  • ►  2015 (15)
    • ►  December (1)
    • ►  October (1)
    • ►  August (2)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  January (2)
  • ►  2014 (13)
    • ►  December (1)
    • ►  November (2)
    • ►  October (4)
    • ►  August (5)
    • ►  January (1)
  • ►  2013 (5)
    • ►  September (2)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2012 (19)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (1)
    • ►  April (2)
    • ►  February (3)
    • ►  January (2)
  • ►  2011 (20)
    • ►  December (5)
    • ►  August (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (2)
    • ►  January (1)
  • ►  2010 (41)
    • ►  December (2)
    • ►  November (1)
    • ►  September (5)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
    • ►  May (8)
    • ►  April (2)
    • ►  March (3)
    • ►  February (5)
    • ►  January (11)
  • ►  2009 (113)
    • ►  December (2)
    • ►  November (5)
    • ►  October (11)
    • ►  September (1)
    • ►  August (14)
    • ►  July (5)
    • ►  June (10)
    • ►  May (4)
    • ►  April (7)
    • ►  March (11)
    • ►  February (15)
    • ►  January (28)
  • ►  2008 (61)
    • ►  December (7)
    • ►  September (6)
    • ►  August (1)
    • ►  July (17)
    • ►  June (6)
    • ►  May (24)
  • ►  2006 (7)
    • ►  October (7)

Blog Archives Categories

  • .NET DEVELOPMENT (38)
  • 5G (5)
  • AI (Artificial Intelligence) (16)
  • AI/ML (10)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (47)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • DIY (3)
  • DOMAIN KNOWLEDGE (14)
  • EDGE COMPUTING (4)
  • EMBEDDED SYSTEMS (9)
  • ENTERPRISE ARCHITECTURE (10)
  • IMAGE PROCESSING (3)
  • INTERNET OF THINGS (2)
  • J2EE PROGRAMMING (10)
  • KERNEL DEVELOPMENT (6)
  • KUBERNETES (20)
  • LATEST TECHNOLOGY (25)
  • LINUX (9)
  • MAC OPERATING SYSTEM (2)
  • MOBILE APPLICATION DEVELOPMENT (14)
  • PORTING (4)
  • PYTHON PROGRAMMING (6)
  • RESEARCH AND DEVELOPMENT (1)
  • SCRIPTING LANGUAGES (8)
  • SERVICE ORIENTED ARCHITECTURE (SOA) (10)
  • SOFTWARE DESIGN (13)
  • SOFTWARE QUALITY (5)
  • SOFTWARE SECURITY (24)
  • SYSTEM and NETWORK ADMINISTRATION (4)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (32)
  • TECHNOLOGY INTEGRATION (5)
  • TEST AUTOMATION (5)
  • UNIX OPERATING SYSTEM (4)
  • VC++ PROGRAMMING (44)
  • VIRTUALIZATION (8)
  • WEB PROGRAMMING (8)
  • WINDOWS OPERATING SYSTEM (13)
  • WIRELESS DEVELOPMENT (5)
  • XML (3)

Popular Posts

  • REST vs GraphQL
  • Service Discovery Protocols
  • REST vs SOAP
  • Uninstall Kubernetes on CentOS Shell Script

My Other Blogs/Channels

  • Career Management: Invest in Yourself
  • A la carte: Color your Career
  • Attitude is everything(Telugu language)
  • "Invest in Yourself" Youtube Channel (Telugu language)
WINNING vs LOSING

Hanging on, persevering, WINNING
Letting go, giving up easily, LOSING

Accepting responsibility for your actions, WINNING
Always having an excuse for your actions, LOSING

Taking the initiative, WINNING
Waiting to be told what to do, LOSING

Knowing what you want and setting goals to achieve it, WINNING
Wishing for things, but taking no action, LOSING

Seeing the big picture, and setting your goals accordingly, WINNING
Seeing only where you are today, LOSING

Being determined, unwilling to give up WINNING
Gives up easily, LOSING

Having focus, staying on track, WINNING
Allowing minor distractions to side track them, LOSING

Having a positive attitude, WINNING
having a "poor me" attitude, LOSING

Adopt a WINNING attitude!

Total Pageviews

Who am I

My photo
Krishna Kishore Koney

Blogging is about ideas, self-discovery, and growth. This is a small effort to grow outside my comfort zone.

Most important , A Special Thanks to my parents(Sri Ramachandra Rao & Srimathi Nagamani), my wife(Roja), my lovely daughter (Hansini) and son (Harshil) for their inspiration and continuous support in developing this Blog.

... "Things will never be the same again. An old dream is dead and a new one is being born, as a flower that pushes through the solid earth. A new vision is coming into being and a greater consciousness is being unfolded" ... from Jiddu Krishnamurti's Teachings.

Now on disclaimer :
1. Please note that my blog posts reflect my perception of the subject matter and do not reflect the perception of my Employer.

2. Most of the times the content of the blog post is aggregated from Internet articles and other blogs which inspired me. Due respect is given by mentioning the referenced URLs below each post.

Have a great time

My LinkedIn Profile
View my complete profile

Aryaka Insights

Loading...

Reid Hoffman - YOUTUBE

Loading...

Martin Fowler's Bliki - BLOG

Loading...

The Pragmatic Engineer

Loading...

AI Workshop

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...