When talking about performance test or load test, you may think about LoadRunner or JMeter. Today I'd like to introduce another interesting tool Gatling. Gatling is an opensource tool for load and performance testing. It is based on Scala. I know the word "Scala" may frighten some people away. Well, actually we don't need to … Continue reading Use Gatling for Performance Test I
Automation Test with Selenium Cucumber, TestNG and Gradle
Trust you have heard about Cucumber, Jasmine, mocha... Hey, this is an automation test blog, you want to change the topic to discuss healthy food? Not really! These are also the name of some of the famous automation test framework π Today I'd like to introduce an automation test framework based on JAVA, Cucumber, Selenium, … Continue reading Automation Test with Selenium Cucumber, TestNG and Gradle
Cypress Automation Test Overview
Cypress is an emerging JavaScript-based end to end automation test framework running on browsers directly. It is not based on Selenium -- if you have heard about another JavaScript-based automation test framework Protractor, it is still based on Selenium actually. Pre-condition knowledge For engineers who are familiar with JAVA/Python + selenium, to learn Cypress, of … Continue reading Cypress Automation Test Overview
Decorator in Python
In our daliy work when a project grows into a relative scale, very often we want to add additional features on an existing function. We can modify the function directly of course, however this violates Open-closed principle. Decorator is an effective solution to address such challenge--the name is pretty straightword to understand, when you decorator … Continue reading Decorator in Python
Page Object Design in Python and Selenium
I have seen many people using python for web application automation test, however many of them forget the general best practice. In this article, I will give a complete example on Page Object designing in web application automation test. If you are not familiar with Page Object, feel free to refer my previous post Page … Continue reading Page Object Design in Python and Selenium
Interface Static Method and Default Method
I started to learn JAVA 20 years ago when I was a student in the university. After that in so many years I had kept remembering JAVA interface can only be used to define method, not implementation. However things changed after JAVA 8 emerged. People can implement a method in an Interface. And as the … Continue reading Interface Static Method and Default Method
Data Driven Test in xUnit Using Custom Attribute
There are couple of different Unit Test framework for C#. xUnit is one of the best one with latest technology. xUnit has Theory attribute together with InlineData attribute to support simple parameterized test case. However in real automation test, we normally have large amount test data stored in external source, like a csv file. We … Continue reading Data Driven Test in xUnit Using Custom Attribute
Reusable TableHelper Class in Selenium Automation Test
In our daily GUI automation testing, very often we need to check element value from a table. Normally we need to find the table, then locate the specific row or column, then the cell element value. If each time we repeat these steps, it definitely sounds not wise enough. Remember to be DRYβDonβt Repeat Yourself. … Continue reading Reusable TableHelper Class in Selenium Automation Test
Strategy Design Pattern Implementation using Lambda
Recently I tested a complicated module with many different workflows . For different orders, they will go through various workflow. This is a typical scenario of using Strategy Design Pattern, I had implemented this before but this time I use JAVA 8 lambdar to refactor it. To simplify the problem, I use following Student class … Continue reading Strategy Design Pattern Implementation using Lambda
Take Screenshot Only When a Test Fail
when we conduct GUI test, it is not efficient if we take screenshot on each step, it also will produce lots of unusful screenshot files. However if a test failed, we do want to see the screenshot to facilitate bug investigation. How to make the automation code take screenshot ONLY when the test fail? Very … Continue reading Take Screenshot Only When a Test Fail