Test Your Website on All Mobile Devices Using These 9 Tools

See the original posting on DZone Python


Say goodbye to all your virtual machines and device laboratories. CrossBrowserTesting is a one-stop solution for all of your testing needs. The tool is quite exhaustive and robust with more than 1,500 real desktop and mobile browsers on its availability list. You can easily execute all of your manual and exploratory test cases on real iOS and Android devices, just like your clients and end-users are going to do. The tool has excellent support for visual testing too and comes equipped with native debugging tools as well.


Test your website on any mobile device quickly using the AI enabled cloud testing solutions by Functionize. The Functionize online testing cloud lets you flawlessly perform visual testing, cross-browser testing, and performance testing along with mobile testing. Use the tool to easily scale from one to many mobile devices. Get access to a large range of Android and iOS versions and smoothly maintain your mobile test cases using their root cause analysis engine. Apart from that, the tool has commendable support for test creation, test maintenance, performance, and analytics.

Using the Galen Framework for Automated Cross-Browser Layout Testing

See the original posting on DZone Python

The Galen framework is a test automation framework which was originally introduced to perform cross-browser layout testing. It has become a fully functional testing framework with rich reporting and test management systems. This framework supports both Java and JavaScript.

Are you wondering about what cross-browser layout testing is? Well, let me clarify. So, you’ve developed a fast-functioning website using Google Chrome. Everything is working as expected. The UI is neat and you feel a sense of accomplishment. Now, you show this to your product manager, stakeholder, or any other user who has his/her default browser set to Mozilla Firefox/Safari/Opera or any browser other than Google Chrome, and you are surprised to notice the UI look different. This implies that your website isn’t cross-browser compatible. The practice to ensure that the layout of a website looks and runs seamlessly across various browsers is called cross-browser layout testing. We are living in an era where responsive design is turning into a necessity for every website. If you are looking to address the following challenges for responsive site layout across multiple devices, then Galen is one of the best open source frameworks to choose:

Not So Easy Functional Programming in JavaScript

See the original posting on DZone Python


JavaScript allows for operating on arrays in a functional way, e.g. using filter or map functions. As an argument for these functions, we can pass lambda expressions or function references. Is there a difference between them? The answer is yes.

What’s the Problem?

In our project, we are building a mapping using the String.fromCharCode function. To simplify the usage of this function, my code looked similar to:

Implementing PhantomReference in C# [Snippet]

See the original posting on DZone Python

I ran into this very interesting blog post and I decided to see if I could implement this on my own, without requiring any runtime support. This turned out the be surprisingly easy if you are willing to accept some caveats.

I’m going to assume that you have read the linked blog post, and here is the code that implements it:

Selenium WebBriver for Cross-Browser Testing, Part 2

See the original posting on DZone Python

Welcome back! If you missed Part 1, you can check it out here

Selenium WebDriver in Action

Now that you are aware of the basics of Selenium and Browser Drivers, it is time we have a look at a simple WebDriver script in our Selenium WebDriver tutorial. Before we look at the example, please make sure that you have the programming environment ready, i.e. download the IDE of your choice (we are using the Eclipse IDE, with all the required packages/software downloaded from the Eclipse Marketplace). The Selenium Plugin for Eclipse can be downloaded from here. The sample code has been written in the Python language, but you can write the test code in C#, Java, Perl, Ruby, etc.

React Hooks: What’s Going to Happen to My Tests?

See the original posting on DZone Python

One of the most common questions I hear about the upcoming React Hooks feature is regarding testing. And I can understand the concern when your tests look like this:

// borrowed from a previous blog post:
// https://kcd.im/implementation-details
test('setOpenIndex sets the open index state properly', () => {
  const wrapper = mount(<Accordion items={[]} />)

That enzyme test works when Accordion is a class component where the instance actually exists, but there’s no concept of a component “instance” when your components are function components. So doing things like .instance() or .state() wont work when you refactor your components from class components with state/lifecycles to function components with hooks.

Unit Testing Data Access in ASP.NET Core

See the original posting on DZone Python

I really like to be in contact with the readers of my blog. I get a lot of positive feedback about my posts via Twitter or within the comments. That’s awesome and that really pushed me forward to write more posts like this. Some folks also create PRs for my blog posts on GitHub to fix typos and other errors of my posts. You also can do this, by clicking the link to the related markdown file on GitHub at the end of every post.

Many thanks for this kind of feedback!

Selenium WebDriver for Cross-Browser Testing, Part 1

See the original posting on DZone Python

Selenium is a popular automation testing framework that is primarily used for the cross-browser testing. It is open source and is ideal for automating testing of web applications across different browsers like Firefox, Chrome, Internet Explorer, Microsoft Edge, etc. Selenium has become a renowned framework and is giving stiff competition to other test frameworks like HP QTP (Quick Test Professional) and AKA HP UFT (Unified Functional Testing). This look at Selenium WebDriver will help you develop the basic understanding of the components of the Selenium suite, Selenium WebDriver architecture, and show you how to run automated tests for cross-browser compatibility.

Components of the Selenium Suite

Below are the core components of the Selenium Test Suite

JS Array From an Array-Like Object

See the original posting on DZone Python

I remember the struggle and the misunderstanding as I was trying to iterate over a NodeListcollection with no success. In this article, you’ll see how to convert an array-like object like NodeList to a real Array using different methods.

Array-Like Objects

Some objects in JavaScript look like an array, but they aren’t one. That usually means that they have indexed access and a length property, but none of the array methods. Examples include the special variable arguments, DOM node lists, and strings. – Axel Rauschmayer on array-like objects.

ES6 const Is Neither Constant Nor Immutable

See the original posting on DZone Python

I gave a quick talk on JS a while ago on hoisting in JS and while discussing how hoisting applies to variable declarations, we imminently reached ES6’s let and const. We thus began talking about the difference between var, let and const, and how const is not really a constant or immutable.

What Is const?

Constants are block-scoped, much like variables defined using the let statement. The value of a constant cannot change through reassignment, and it can’t be redeclared. – MDN

What Are Partial Applications?

See the original posting on DZone Python

What Are Partial Applications?

A Partial Application is a function where some or all of the arguments are packed inside, ready to go, and it’s just waiting for a few more before the main function is invoked. They’re like functions that have default arguments, but are pure functions with a fixed amount of parameters.


The following article and companion video playlist will cover what a partial application is and how it can be used for a more pure function option for default arguments. It’s assumed you know what pure functions are. We’ll cover:

Arrow Functions in JavaScript

See the original posting on DZone Python

Arrow functions are the most powerful feature in ES6, especially in TypeScript. Let’s look at one simple example of this using a forEach loop.

//Normal Statement with a callback function
arrayOfItems.forEach(function(x) {

//arrow function
arrayOfItems.forEach((x) => {

In a JavaScript class, we use this keyword to refer to the instance of the class .But here are some cases likemyObject.myMethod1() here this used inside my first method, which will refer to myObject. Another example you can with this snippet.

5 Best Python Frameworks for WebView Testing

See the original posting on DZone Python

Python has become one of the most widely used programming languages. The reason behind its popularity is that it is extremely easy to use and allows you to create platform independent programs.

It is a high-level language and has all the important features that make a good programing language. It also supports OOPs, i.e. Object Oriented Programming concepts. The syntax of Python is very different from C or C++ and simpler too. This makes it easy to learn and understand.

Structure of a Go Program

See the original posting on DZone Python

Every single programming language has got its own syntax or structure, it’s own flavor, and that’s what makes it standout. Go is no different. It’s easy and elegant in its own way, making to it fun to play with. In this article we will be talking about:

  • A Go program structure.
  • Running a Go program.
  • Comments in Go.
  • Semicolons.
  • Revisiting the code.

Go Program Structure

To understand a Go program’s structure, we need to have a Go program first, so let’s revisit our favorite Hello, World! program.

Top Features in iOS 12 Every iOS Developer Needs to Know

See the original posting on DZone Python

The latest iOS version has a rich set of features in terms of performance and user experience and comes with huge enhancements in performance, security and privacy. Whilst considering these features for users, we also need to consider what this release means to every iOS developer and QA engineer. In this post, we will explore some major development and testing considerations for Apple’s operating system.

1. Xcode 10

Apple announced Xcode 10 with a full list of the new features for iOS developers. The most noticeable feature of Xcode 10 is a dark mode with macOS Mojave. With Xcode 10, developers can write code in dark mode. Xcode 10 obviously shipped with all the iOS 12 simulators and can build an app on the newly launched device. Other important features launched with Xcode 10 are multi-line editing, code snippets for other languages like Ruby, Python, etc. Last year, Apple announced integrated support for GitHub within Xcode. With Xcode 10, we will have support for GitLab and Bitbucket as well. You can check all the new features in the Xcode 10 release notes. Xcode 10 shipped with Swift 4.2 but we can use Swift toolchains to switch between the Swift versions.

A JavaScript Flavor 52% of Developers Don’t Know About

See the original posting on DZone Python

Reason is a programming language created by Facebook that was released in 2017, but has a small community today. According to a survey by StateofJS, the Reason language has not been heard of by almost 52% of people. Facebook says it is a faster and simpler cousin of JavaScript and that proves the point that the syntax of Reason was made keeping JavaScript programmers in mind. Facebook needed a new language, but, in addition to that, did not want to create an entirely new language, i.e. they did not want to create everything from scratch. They wanted to build it on top of an existing language so that programmers didn’t need to learn an entirely new syntax and semantics. This resulted in the birth of Reason which is made 80% on top of OCaml. OCaml is a language that has been around for 22 years now. Although OCaml has a small community and is mainly used in academics, there is a reason why OCaml makes Reason so great.

Reason’s compilation target is JavaScript and hence it creates beautiful, readable compilation code in JavaScript, thus helping a huge army of JavaScript programmers across the globe. For example, the code given below is in Reason.

Guide to Convert Objective-C iOS Apps to Swift

See the original posting on DZone Python

Apple launched its new native language called "Swift" back in June 2014 for creating apps for iPhone, iPod, Apple Watch and other apple devices. Apple promised that it is a lot faster and simpler than Objective-C. In this article, we will discuss how to convert a legacy iOS app written in Objective-C language to Swift without rewriting all the code from scratch.

To understand this article, you should be familiar with both Swift and Objective-C. Here is a quick getting started to Swift article. Another guide for Swift (https://developer.apple.com/swift/) is there to help you get going.

1 2 3 143