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
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.
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/
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.
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.
#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
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).
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.
I have been using some tools to work for my company:
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
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.
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.