Opening Right-click Menu / Context menu with Selenium WebDriver

Selenium WebDriver providesActionBuilder to perform complex user interactions with a web page. It allows chaining multiple actions together to perform a complex action. You can create a complex action and execute the action (perform) it in the following manner. (Ruby) driver.action.key_down(:shift). click(element). click(second_element). key_up(:shift). drag_and_drop(element, third_element). perform   The action to open the context menu is context_click() . … Continued

How to ignore PostgreSQL tables when restoring a database

At my current workplace, we use a copy of the backup database which is created by pg_dump to restore in our development machines. Since the database has a lot of code>audit files which adds up a lot of space, I needed an easier way to ignore these files when restoring the database. Apparently pg_restore can generate a list of … Continued

Vagrant – Running Rails server in the background

Let’s say when you boot up or restart your virtual machine, you want to run the Rails server in the background for your Rails application. It is pretty easy. First, let’s create a function for the script block. Put following code on the top of the Vagrant file. def start_rails_server <<-SHELL cd /vagrant # start … Continued

Setting up Ruby SDK for RubyMine with Vagrant

This article is about how you can configure to use the Ruby SDK in your Vagrant image with RubyMine. For this, I have used the  joshfng/railsbox Vagrant image because I was using that image for a Rails project.  First you have to find where is your Ruby interpreter located for your project. Let’s assume your … Continued

Think differently when the current tests fails

This is a lesson learned from work. SO we use Rials in our project at the workplace. SP for a new requirement, we had to have a validation for a particular attribute of a model.   The requirements were specific on where the validation should happen. Say for example for what controller actions. However, the initial … Continued

Be careful when using loops in Jasmine specs

Your test automation code is an important tool to evaluate your application.  You must ensure your test code is working/testing as you want it to be. the automated tests give confidence for the developer that the application behaves as expected and things are not broken after they change the code. Recently, at our QA phase, the … Continued

Go Programming Language: An Introductory Tutorial

What’s the Go Programming Language? Go is a recent language which sits neatly in the middle of the landscape, providing lots of good features and deliberately omitting many bad ones. It compiles fast, runs fast-ish, includes a runtime and garbage collection, has a simple static type system and dynamic interfaces, and an excellent standard library. … Continued

Trying out Ansible on local mode

So you might be interested running ansible to configure your local machine. In this article, I’m going to show you the minimum steps that need to install Vim  using Ansible on an Ubuntu host machine. 1. Install latest Ansible version from apt $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:ansible/ansible $ sudo apt-get update … Continued

Trailing whitespaces: what you gonna do about it?

What is a trailing whitespace? Trailing whitespace is any spaces or tabs after the last non-whitespace character on the line until the newline. Background Few months ago, it was raised that PR submitted code tend to have trailing whitespace changes in code diff along with other “real” code changes. This whitespace change is a diff … Continued

Having a newline character at end of file

Background/problem/question: When you create a newfile, and push it to Github, in code diff view, it will say no newline at end of file. Sometimes text editors would also add an EOF newline, if they noticed that the file being edited does not end in a newline, when they are saved (usually it is configured … Continued