Custom Web Development Blog

ISS Art Blog

Get useful insigths on current tech trends (ML, IoT, AR and many others) and get familiar with our experience of handling complex project tasks

How to get started with web UI automation

At the development or support stage of a large web application there often arises necessity of the automated testing. This is due to the fact, that automated execution of tests is faster than manual. UI autotests simulate actions of a real user, and they use different browsers for this. We know that, ideally, tests should work not only without human intervention, but also be run at the right time. In this article, we are going to show how to start with web UI automation on a demo project, using IDEA IDE step by step:

Step 1: Test Planning, pseudo code. 

To demonstrate the creation of tests, we first need a testable web application itself. For clarity, the best solution would be to create some application, and run it locally. This will enable us to be independent of external conditions, such as the availability of a remote Internet resource, as well as to demonstrate tests launch with the change of the application code. 

We have a simple Node JS application consisting of three pages. The transitions between them is carried out by pressing the corresponding button. You can download this application at this link.

Pseudocode of tests for all of three pages is written below:

HomePage:

  1. testPageTitle test:
    1. Open the home page
    2. Get the page title
    3. Check if the actual title is equal to the expected
  2. testPageHeader test:
    1. Open the home page
    2. Get the page header title (which is under tag h1)
    3. Check if the actual title is equal to the expected

AboutPage:

  1. testPageTitle test:
    1. Open the home page
    2. Go to the about page by clicking the “i wanna see /about page” button
    3. Get the page title
    4. Check if the actual title is equal to the expected
  2. testPageHeader test:
    1. Open the home page
    2. Go to the about page by clicking the “i wanna see /about page” button
    3. Get the page subtitle (which is under tag h3)
    4. Check if the actual subtitle is equal to the expected

ContactPage:

  1. testPageTitle test:
    1. Open the home page.
    2. Go to the contact page, by clicking the “i wanna see /contacts page” button.
    3. Get the page title
    4. Check if the actual title is equal to the expected 
  2. testContacstList:
    1. Open the home page
    2. Go to the contacts page by clicking the “i wanna see /contacts page”  button
    3. Get the contacts list
    4. Check if the contacts list contains an expected contact
Step 2: Preparation of the test configuration
  1. Starting the test web application:

To run the test application, just start the start.bat file, which is located in the /testApp folder.

Now, if you open http://localhost:7000 you’ll see:

2. Java Maven project creation:

Launch the IDEA IDE. If it’s not installed yet, then install it. Create a Java Maven project, using the default settings offered by IDE. Add the following dependencies to the pom.xml file:

Read More

Clutch Recognizes ISS Art as a Top Russian B2B Company

ISS Art is proud to announce: we have been listed as a top Russian B2B company in Clutch’s latest press release. For years, our experienced team of custom software developers have built software solutions for companies around the world. We’re very thankful to our employees, our clients, and Clutch for earning this accolade.

Clutch is a B2B ratings and reviews firm based in Washington D.C. Through a unique and unbiased ranking methodology based on customer reviews, Clutch evaluates service providers so that buyers can find the best possible partners for their business needs. Our constantly evolving development talents in machine learning, AI, and data science have garnered us a 4.8/5.0 ranking on Clutch over 16 reviews!

In a recent review, ISS Art provided software development support for a cloud-based credit company.

We earned five stars and our client was thoroughly satisfied with the work:

“Our professional dedicated project manager reliably produces successful outcomes. Whether it’s allocating someone new to work on a project or finding a better solution, they always find the best way to solve any given problem.” — Executive, Turbo Dispute

Our work is also visible at The Manifest, a research guide for entrepreneurs and buyers. We are ranked as o ne of the top 20 Russian developers at The Manifest, an amazing accomplishment for our team.

If you are looking to embark on a project, feel free to contact us today!

FAQ: What bothers our Clients before the project launch?

In our previous article we covered the common questions we get from clients at the beginning of our negotiations. Today we will focus on the typical questions we get from clients who are willing to proceed with our team, and need to get a clear picture of how the workflow will look like.

Read More

FAQ: What our Clients want to know before signing a contract

Business managers at ISS Art are often asked questions about our processes and ways to start the development of a software project in the most efficient way. And we thought: why not gather these questions and share the answers with you? 

In this article, we will cover the most common questions we get from potential clients when we just start our discussions about their projects. We hope you will find this information useful, especially if you consider building your own software product.
Read More

IoC container isolation

Sometimes developers discuss which framework or library is better. It depends on the performance, usability, flexibility or just a taste. Likely, my opinion won’t be new, however, I think that with the help of modern technologies it is always possible to write clean and beautiful code.

It doesn’t depend on the library or framework, there aren’t any perfect solutions, everything has advantages and disadvantages, however any widely used technologies allow to achieve a good result.

The most difficult thing in the code design is the maintenance of dependencies. You should consider dependencies of classes, third party components, libraries, etc.
Read More

TopDevelopers.co has announced ISS Art as a top React Native development company

React Native is an app developer’s dream, it allows developers to create smooth, and clutter-free hybrid apps. The cost of app development comes down as the app for iOS and Android platforms are built faster and the developers need to write the code once and can run the app on both the platforms. The fact that ISS Art’s name featured on the list of leading React Native developers serves as an evidence of our abilities as a mobile app developer.

The list was released in a recent press release about top React Native Development Companies by TopDevelopers.co – a renowned directory of IT service providers.

Read More

Customer in Agile

Many software development projects are implemented with Agile methodologies. The right use of Agile principles leads projects to the goals. If you are a customer of a software development project, and you are suggested to work in Agile, this article is for you. We will list the essentials to prepare for the work with an Agile development team.

To make Agile work for your goals is the mutual task for a prepared customer and a mature team. Both the team and you have to be prepared to the Agile approach if you did not work this way before or if you did but did not get significant results.

Read More

Classification of image style using deep learning with Python

In this article, I want to talk about the use of convolutional neural networks for the classification of images by style.

The goal of our project is to build software to identify whether an image is in the “BMW style”. In other words, we are faced with the task of classifying images. It is important to note here that images could be of any content, with and without cars. So, the main interest here is not to identify a car object, or identify a BMW car, rather identify a BMW look and feel – colors, composition and so on. But we can’t select these attributes of style manually. To solve this problem, it was proposed to use a neural network, in which such complex features will be found automatically in the learning process.

Read More

Development of a document recognition system using OpenCV and Tesseract

The feature of input of user data taken from printed documents for automated enterprise solutions is currently in great demand.

Such documents include:

  • Official standard state documents, such as passport, personal insurance policy number (SNILS), driver’s license, birth certificate, etc.
  • Printed documents used in the company document flow made according to company templates.

Our company focuses on development of software based on machine learning, computer vision, image processing, and optical character recognition. In this article, we describe our experience in development of a textual template recognition system which includes an Android mobile app and a template control server.

Read More

HLS testing using JMeter and Locust

HTTP Live Streaming (also known as HLS) is an HTTP-based adaptive bitrate streaming communications protocol implemented by Apple Inc. The conception of the protocol is based on the principle of splitting a single stream into small fragments sequentially downloaded via HTTP. At the beginning of the session, the playlist is downloaded in the M3U format, containing metadata about the existing nested streams. Based on standard HTTP transactions, HTTP Live Streaming can pass through any firewall or proxy server, passing standard HTTP traffic, unlike UDP-based protocols such as RTP. The standard also includes a standard encryption mechanism and secure-key distribution using HTTPS. Let’s look at how to test HLS using Apache JMeter and Locust.

Read More