Mozilla Internship: Translate Java to Python, Pt. 2

Continued from Part 1

While I began writing my package as a direct, one-to-one translation of the Java package, my package turned out to look very different.

Java and Python are, after all, very different languages. I found some methods to be unnecessary in python, and chose to not use the same design pattern as axe-selenium-java.

The Java package, written by Deque Labs, uses the Builder design pattern.

I wrote the methods used by the Builder class to be methods of the Axe class instead.

Continue reading “Mozilla Internship: Translate Java to Python, Pt. 2”

Mozilla Internship: Diving into Test Automation with Python

pytest python pytest-html

Test Automation with Python

The first week of my internship was spent primarily setting up my dev environment on the laptop I received.

I had also never used a Mac before, so there were some basics to learn as well.

Although, since MacOS is Unix-based now, all of the important things were pretty much the same.

(I’m worthless with a Windows command line)

Once I had everything configured, I started fiddling with python and pytest.

I’ve done some development in python, like a scrabble-esque game, but I’d never written tests in python before.

axe-core

In order to automate regression testing for accessibility, we need an API of some sort.

I did some research on the available web accessibility APIs before settling on the axe-core API.

The axe-core API was created by Deque, a company that specializes in accessibility.

Deque offers assessment services, certifications, and more.

axe-core is written in JavaScript and distributed as an an npm package.

Eventually, I will create a more seamless integration of axe-core into python, by writing a python library.

DequeLabs did this with Java in their tool axe-selenium-java.

To get started, though, I will be using Selenium’s execute_script() function to handle the JavaScript directly.

Continue reading “Mozilla Internship: Diving into Test Automation with Python”

AngularJS Wikipedia Search App – Part One

Build a Wikipedia Search App With AngularJS

Part One – Get Output

In the previous post, I showed how to make unauthenticated API requests to the Wikipedia API.

In this tutorial, I’m going to rebuild the Wikipedia Search App using AngularJS.

Here’s what we’re going to start with:

// app.js

(function(){
  'use strict';

  angular.module('wikipediaApp', [])
  .constant('API_PATH', 'https://en.wikipedia.org/w/api.php')
  .controller('SearchController', SearchController);

  SearchController.$inject = ['$scope', '$http', 'API_PATH'];
  function SearchController($scope, $http, API_PATH){

  }

})();

Continue reading “AngularJS Wikipedia Search App – Part One”