30 Days of Automation in Testing Day 5 - Find, use and share your thoughts on a web UI testing tool

Challenge - Find, use and share your thoughts on a web UI testing tool.

I just want to express how impressed Iam with Protractor. This tools takes away so much pain associated with Synchronisation that comes with standard Java/C# Selenium Automation scripts for automating Web UI. Most importantly the scripts execute blazing fast in Chrome browser for an Angular App.

Specially when Automating Angular based applications.

Protractor Quick Tutorial on You tube

Prerequisites : JavaScript / Nodejs concepts and Selenium WebDriver

Official WebSite : Protractor - end-to-end testing for AngularJS (edited)

2 Likes

F12. I think this is one of the most overlooked and undervalued Web tool there is. Please try hit that button in any browser and you will be highly amazed. Usable for much more than UI testing but one of my first goto tools in here is the DOM explorer.

3 Likes

I spent 5 yrs experience on Automation with various tools, such as: Silk Test, QTP, Selenium and the most recent one is Katalon.
Katalon brings me the best feeling although I have the shortest time working on it. It’s free and give us 2 parallel options to develop a test case: GUI/Scripting. It’s developed based on Selenium and Appium so inherits existing bounteous libraries. It’s easy for the guys don’t know programming to use but it also doesn’t make others boring with scripting mode.
I am proud of this is the tool developed by the company I am on working on: KMS VietNam
Let’s try on: https://www.katalon.com/

3 Likes

As UI automation tool I usually use Selenium+ NUnit(C#). Now there are a lot of new AI tools for testing (7 Innovative AI Test Automation Tools for the Future: The Third Wave).
Puppeteer we can use for UI testing too, do you have such experience?

Selenium plus JUnit, for me. I’m aware of various frameworks that should make Selenium easier, but I wanted to learn both Java and Selenium from the ground up (having done pretty much nothing but shell scripting since I left software development behind, a long time ago).

I’m going to be very original and say Selenium (with NUnit in C#)

I learned it in C#, mostly because C# is what is used where I work, but also because I wanted to learn something other than Python. I should be able to port the skills over to Python pretty easily.

But Selenium is popular for a reason, isn’t it? I found that it was quick to learn the basics, though this course really emphasized setting up a nice, non-fragile framework, and that took MUCH longer than just being able to control web elements.

I don’t have much else to say since I am still rather new at all this.

-Dave K

So far, I have used quite a few automation tools like QTP, Selenium IDE, RC and WebDriver with Java, C# and Python. I’ve found Selenium WebDriver with Python to be more reliable and powerful.

However, I recently stumbled open this tool - Testim.io (https://www.testim.io/) which basically heals the automation scripts depending on the changes that the applications go through. This effectively removes the flakiness of the automation suites.

Please read my observations about this tool in detail here: https://qakumar.wordpress.com/2018/05/24/ai-in-automation-testing-self-healing-automation-scripts/

2 Likes

Some tweets for Day 5:

#Day 5 :Web UI Testing Tool
Katalon Studio is free test automation tool to automate functionalities of Web,Mobile and API services .It is great tool for testers with less coding knowledge or a utility tool for experience tester to quickly create a test in an agile environment. It provides most of the features you can find in HP QTP/UFT: code editor, object repository, object spy, record/play (captures user interactions performed against elements) and offer an interface to manage test scenarios.
It’s developed based on Selenium and Appium so inherits existing bounteous libraries.

Other features are like, Advanced Reports (Katalon Analytics), CI Integration, Support to Cloud Services like SaucLabs, SDLC Integrations (GIT, JIRA and qTest and etc) are also supported by Katalon Studio.

You can learn more on: https://www.katalon.com/
This tool is developed by the company I am on working on: KMS VietNam

2 Likes

We use selenium webdriver, but I am looking forward to explore Protractor, it is very popular in NZ market it seems.

I’m on day 5. Cheating a little bit since I was doing Selenium a long time ago but then stoped for a long time. I’m taking this time to re-connect with Selenium. Though I used C# + NUnit that time. This time I’m trying Java (since that’s what they use where I currently work).

@qakumarnz
Looks like a good tool. Will surely, try out this. Thanks for sharing :slight_smile:

Web UI testing tool I have used so far are Selenium, Sahi, NightwatchJS and Protractor. I like using Sahi and NightwatchJS as it doesn’t require all the webdriver fuctions calls. It used in-built API calls so in minutes your first UI tests are up and running.
I would prefer Sahi more as its stable and hardly fails for element not found and also it requires no additional wait statements.

+1 for Katalon … I’ve used it on several projects with great results and I recommend it highly to anyone new to automation but still not quite advanced in script languages. I plan to contribute to their forum soon.

In my experience, my top 3 the following have worked:

CodeceptJS - for those with a javascript background, codeceptJS is a great UI framework with a syntax that is easy to learn. The frame work can be adapted for customized usage or with other libraries.

KATALON - written in Groovy, this framework is hands-down my favorite in terms of reliability and ease-of-use. I came upon it while researching an automation test solution for my company.

  • Can it test cross-browser? YES
  • Can it test on mobile devices? YES
  • Can it test web services (API)? YES
  • Does it take screenshots and post reports? YES & YES
  • Can it run in a CI? YES
  • Can it work with GitHub ? YES
  • Can others collaborate to a project? YES

Having previous experience with similar proprietary testing solutions written in Jasmine, adapting what I learned was effortless. The tutorials are intuitive and the fact that you can even employ javascript within makes this a robust platform.

Python – I have not yet found an out-of-the box solution for anything written in Python, but I’ve written custom tests that have proven super-reliable and quick to run. My learnings for Python are in their infancy, but I have found using a lot of success with http://selenium-python.readthedocs.io/index.html

For API tests, Postman and FrisbyJS have been a godsend.

1 Like

I have been using some tools to work for my company:

  1. KATALON: Katalon Studio is a simple and powerful automation solution built for testers everywhere. Katalon Studio revolutionizes the use of open-source test automation frameworks such as Selenium and Appium by eliminating their technical complexities to allow developers and QAs to efficiently set up, create, run, report, and manage their automated tests. It also offers a viable alternative to commercial test automation solutions that are not affordable to many small and medium-sized teams.
    Currently, KATALON is support for JAVA and GROOVY only

  2. Selenium Webdriver: Selenium is a set of different software tools each with a different approach to supporting test automation. Most Selenium QA Engineers focus on the one or two tools that most meet the needs of their project, however learning all the tools will give you many different options for approaching different test automation problems. The entire suite of tools results in a rich set of testing functions specifically geared to the needs of testing of web applications of all types. These operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior. One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms.
    Currently, selenium webdriver is the popular framework to implement automation. It supported so many language like: Java, C#, Python…

I wrote a blog post a while back that talks about the usage of UI testing tools in our industry and how we fall into anti-patterns where we think we are testing something in the UI when actually it’s the Backend that is being tested:

From this I developed the Mnemonic TuTTu to ask myself ‘Am I Testing the UI or Testing Through the UI’. Whatever UI tool I use, I want to focus on the risk. I don’t want to use a UI testing tool to connect the tax calculation that goes on inside a web service, I can use that elsewhere. But a UI testing tool might help with testing JavaScript functions for form field validation.

2 Likes

Although the developers on my team complain about the framework, I love the Ember.js testing tools.

The framework itself provides tools for creating unit test frontend code (with dependency injection and no UI rendering), component test (rendering only the (hopefully small) UI component), or acceptance test (running a user journey, mocking all data expected from services). Matching the purpose of tools that touch a UI testing to UI, and not other stuff (as @mwinteringham mentioned).

Besides that, the Ember community is very passionated for testing, creating tools for a11y testing and visual testing.

I am procrastinating in writing a full blog post about it, but this presentation can give an idea:EMBERCONF 2015 - TEST-DRIVEN DEVELOPMENT BY EXAMPLE.

(I will update this post when I have the blog posts :smiley:)

The favorite automation tool for me: Katalon (learn more on: https://www.katalon.com/ ) and Selenium.