Selenium IDE – How to verify html-table

From time to time every programmer creates a table which looks like this: Please take notice, the total quantity and the sum look strange. They have to be verified. The table is simply a set of rows. Look at source code:   I’m going to sum the values from the second cell for each row and compare the calculated value with the total quantity. The same should be done with the values of the…

Selenium Grid – How does it work

When we start one of our Selenium tests, then a request is sent to the Hub. The Hub checks all the Nodes which are registered, for a System, that matches the desired Capabilities for the started testcase (for example, Chrome). With a match, the Hub sends the Selense to the Node which is communicating with the browser and the test will be executed step by step. If there is no free slot on the…

Iterative Performance Tuning of Web Apps

In my last blog post I described how to use Firebug's Profiler in order to find out which parts of your code are most time consuming and are responsible for the performance issues you might experience. Today I am showing you how I used the Profiler as a step in the iterative process of tuning the performance of a web app. Steps of the iterative performance tuning process: According to Wikipedia,…

Using the Firebug Profiler for profiling web apps

I am sure every programmer is quite familiar with such situations: you are bursting with pride and self-content because your app is finally running without errors. You try it out on a mobile device for the first time, and you are thoroughly disappointed to realize that the performance of your masterpiece is just awful … Then it is just about time for some profiling. This blog post will show you…

Selenium IDE – useful for small automation tasks

Selenium IDE is the most useful testing tool. It exists as Firefox plugin and is able to record your actions in the browser to save you from monotonously testing a web application. But sometimes Selenium IDE can help you with other automation tasks. Here is one example: Google records every search you conduct while logged in. You can view your history here: https://history.google.com/history If…

Knockout Asynchronous Computed Observables

With its Observables and Computed Observables, Knockout provides some simple mechanisms for binding data values. However, when it comes to capturing results of asynchronous calls in variables, things become a little bit more complicated. Here is what the difficulties are and what can be done about them: Observables, computed observables and their limitations An observable is a special kind of…

CSS files do not show up in WordPress theme editor

One day I was creating a simple site. I've found a great theme, selected the appropriate theme and began to edit it. WordPress has a built-in editor for that. You can reach it through the menu "Appearance" -> "Editor". The editor looks like a large text field in the middle and some files of selected theme, that placed on the right side. I've edited all necessary php-files. Next I would like to…

VS 2013 fails to sync with "Invalid description in FETCH_HEAD"

The last couple of weeks one of our Visual Studio Online git repository refused to get pulled by simply hitting "sync" inside VS. It always said: "An error occurred. Detailed message: An error was raised by libgit2. Category = Merge (Error). Invalid description in FETCH_HEAD line 61" As this was obviously a libgit2 error, it was still possible to pull and push via git bash. So we were not out of…

Integrating custom widgets in WordPress using RequireJS and Almond

A couple of days ago I embarked on a quest to write my own Wordpress widget. The widget was to consist of a main file (widget.js), some libraries and another module encapsulating an algorithm I needed in the widget. That meant that I faced the task of including all that in my Wordpress page. This is how I solved it: 1. RequireJS The easiest way to integrate my own widget with all its dependencies…

Getting Started with StrongLoop

What it StrongLoop The StrongLoop API is a platform featuring the LoopBack framework - an open-source node framework which enables easy creation of REST APIs and the connection to backend data sources such as MySQL or MongoDB databases. In this Blog Post I will show how I got started with the framework and how I used it to created a simple web application. Getting started with a small example……