October 9, 2017

Tinkering with Twitter: Twitter and the Search API

Let's say you are an automation developer and your boss gives you a new assignment: Test the search functionality for Twitter, how would you do it?

You could cobble together a Selenium WebDriver framework, one that spun up a browser, identified where the search bar was on Twitter.com, typed in a search keywords, and scraped the screen when the results appeared...

... The problem with this approach? You aren't actually testing the search functionality. You are testing how the web application handles the search functionality. Why not the search functionality itself?

Like the MBTA website we explored back in February, Are You Sure the Bus Line is Listed? Gathering data using REST APIs and REST Assured, much of the data is extracted from an API, an application programming interface.

With this series of blog articles we will be walking through:

1) Setting up a development environment:
  • IntelliJ as the integrated development environment (IDE)
  • We will be using a programming library called Twitter4J to interact with Twitter's API.
  • Since the Test4J programming library is in Java, we will be using that as a programming language.
  • Maven handling the third-party dependencies.
2) Coming up with test data and posting it to Twitter.

3) Searching for that test post we created.

Let's begin!

October 5, 2017

And the next speaker for the Automation Guild 2018 is ... me!

Anybody know how to shoot decent video on an iPhone 6S, how to get good lighting and sound?

I just heard back from my favorite software testing podcaster, Joe Colantonio of TestTalks.com. I've been selected to submit a video to his Automation Guild 2018!

Joe Colantonio, founder, the Automation Guild
https://vimeo.com/234367425

This three day conference is all online, and will be held January 8th to 10th, 2018.

I was going to convert last year's talk I gave to the Ministry of Testing - Boston, How to Pass a Coding Interview as an Automation Developer, which I based on my previous TechBeacon article...

... As you can see in the talk I gave last year, I have a bit of work to do.

Wish me luck!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

September 18, 2017

Demo source code for "One Test to Rule Them All" was released!

Did you attend the Sauce Labs webinar, "One Test to Rule Them All" and really wished they had shared the Appium + Cucumber BDD + Serenity BDD framework sample code? Qualitest UK just did!



Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

September 8, 2017

Sauce Labs presents, "One Test To Rule Them All", demoing a Serenity BDD + Appium mobile testing framework

This was exactly what I was looking for! ... If only I could find Eyal Yovel's demo code.

We use Serenity BDD at work, an automation framework that is mainly a web testing framework. For months I tried to turn it into being a mobile automation framework to test mobile apps. All this Spring, I spent trying to get working other proof-of-concepts others had toyed with, to no avail. Mobile automation? It seemed unsupported by the Serenity BDD Google Groups, and still remains undocumented in the official Serenity BDD documentation.

Then I stumbled upon a European webinar announced by Sauce Labs... that was being held at 5:00 am Boston time. Normally, there would be a recording published a few days later. But what if this time was different? I couldn't take that chance!

September 5, 2017

3 ways QA engineers can keep pace with developers | TechBeacon

My sixth TeachBeacon article was just posted: 3 ways QA engineers can keep pace with developers | TechBeacon: "With the rapid pace of change in testing, keeping up requires deeper, broader skills–and networking with other QA pros".

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

September 4, 2017

Watch Gregory Hanson and Jeffrey Martin host SmartBear's State of Testing 2017

A few months ago, SmartBear, maker of automated testing tools such as ReadyAPI, SoapUI, sponsored a Ministry of Testing - Boston meetup, encouraging us to spread the word on their new survey about the State of the Software Testing Industry. Over five thousand people filled out the survey. The results are ready to be revealed!

"Did you know that 63% of testers are responsible for testing both the frontend and backend of their applications? Or that API tests are more likely to be automated than GUI tests?

"Discover what your peers are doing today in testing - the applications they’re building and the techniques they’re using. Learn more about modern test environments and how many teams are at the ‘tipping point’ of shifting left.

"SmartBear collected insights from thousands of developers, testers, and managers worldwide who are passionate about software testing. They openly shared their experiences, insights, and the challenges they face in their day-to-day roles.

"Join a panel of SmartBear experts as they walk through the 2017 ‘State of Testing Survey’ and divulge the key trends and observations we uncovered".

Watch Jeffrey Martin, Gregory Hanson, from SmartBear play host on the webinar broadcasted on Tuesday, August 22nd, 2017!

Testing and Development Webinars | SmartBear

August 31, 2017

Follow the Ministry of Testing - Boston on Twitter!

I am happy to announce that I am the new Organizer of the Ministry of Testing, Boston chapter! ... or, at least that is what I have dubbed myself.

Back in January 2017, when the Greater Boston QA and Testing Meetup moved under the Ministry of Testing's umbrella, a community of software testers in the UK that was expanding into the United States, three things happened:

  • The Meetup group was rebranded the "Ministry of Testing - Boston".
  • I was invited by the founder of the group, Conrad Holloman, to be co-organizer, helping to plan meetups.   
  • After month or so, I was asked if I could mind the store for the Spring. Between Conrad going back on duty and needing to put more effort in running a group he co-founded, Operation Code -- training veterans in a new software development career -- he wouldn't be available. 
After six months of me going all gung-ho, running targeted Facebook and Twitter ads for the group, running two or more events a month, cold-calling and cold-emailing to see if they could host a Meetup event and possibly speak to our group... Conrad mentioned that he was stepping down. Could I possibly fill the Organizer role?

I have to say, I am having the most fun with the group! I have been recruiting friends of mine to speak to the group. I somehow managed to get Moshe Milman, the CEO of Applitools to the group. Angie Jones, via web conference spoke live from Twitter's San Francisco office. Sauce Labs is now a major sponsor.

Are you in the Boston area? Do you do QA, SQA, automated testing, manual testing? Come and join us!

And make sure to follow us on Twitter, @MoT_Boston! I run the Twitter feed, too. I try to keep it entertaining. And while you are at it, follow me, on Twitter, @tjmaher1!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

August 17, 2017

Ahold Delhaize - Quincy rocks out on Quincy Center Plaza. Presenting: Stop & Rock

I have to say, I am really having a blast working for Ahold Delhaize - Quincy, as a QA Engineer on their Mobile Dev team. Why? They are a fun group to be around! Wednesday a group of the Mobile Dev team got together to give Quincy Center a free lunchtime concert.

How was it? Check it out!


August 16, 2017

Stories of Software Testing during the 1990s Dot.Com Boom

I've heard it said, by Gerald Weinberg, when forming  the first team dedicated to quality and testing for NASA’s Project Mercury in the late 1950s as Manager of Operating Systems Development, that every person on his quality team was a computer programmer. The software quality assurance engineer role as we now know it was never meant to be a non-coding one... Decades after, it just happened that way out of necessity.

Although it may be fitting, then, that the lines between development and QA are blurring together, as witnessed by developments at such companies as Microsoft, Google and Spotify, this provides little solace for us QA engineers who once again must navigate a new landscape that market forces have blown together, and confront the new job requirements.

August 15, 2017

Need your expert opinion for an article: What happens to the QA Role in a Continuous Deployment environment?

Hello, Dear Reader! I need your expert opinion on a TechBeacon article I am working on... Mind if I quote you?

I'm trying to research what happens to the QA Engineer role in software companies that use Continuous Deployment. What does the QA role morph into, and what skills would the QA Engineer need to develop in order to survive there? 

In business, there is always an urge to do more with less. Save money. Reduce headcount. Increase the bottom line. Improve quality. Trim bloated processes... And as with all businesses, so goes the software business. The problem is that here in Boston I worry that the "bloated process" is interpreted as the role of QA Engineer...

Back in March 2017 at a Ministry of Testing - Boston Meetup, I bumped into Andreas Grabner from Dynatrace, who mentioned something regarding Continuous Deployment that as a QA Engineer for twenty years sent shivers up my spine...

August 14, 2017

New Free SmartBear Webinar: "The State of Software Testing", Tuesday, August 22, 2017

A few months ago, a sponsor of the Ministry of Testing - Boston, SmartBear software, hosted a survey, "The State of Software Testing". Over five thousand people filled out the survey. The results are ready to be revealed!

"Did you know that 63% of testers are responsible for testing both the frontend and backend of their applications? Or that API tests are more likely to be automated than GUI tests?

"Discover what your peers are doing today in testing - the applications they’re building and the techniques they’re using. Learn more about modern test environments and how many teams are at the ‘tipping point’ of shifting left.

"SmartBear collected insights from thousands of developers, testers, and managers worldwide who are passionate about software testing. They openly shared their experiences, insights, and the challenges they face in their day-to-day roles.

"Join a panel of SmartBear experts as they walk through the 2017 ‘State of Testing Survey’ and divulge the key trends and observations we uncovered".

Go to https://smartbear.com/resources/webinars/state-of-testing-2017 and register today!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

July 13, 2017

Notes on Angie Jones, Make Your Automation Behave: Extending Your Framework for BDD (June 28, 2017)

Notes, Make Your Automation Behave: Extending Your Framework for BDD
Given by Angie Jones, held on Jun 28, 2017  
Recording: A Software Test Professionals Webinar (STP)

"When done properly, Behavior-Driven Development (BDD) can drastically improve the communication and understanding of requirements. An additional benefit is being able to utilize the domain-specific language of the requirements to drive test automation. However, like any other automation initiative, when done poorly, this too can fail.
"In this webinar, Angie Jones provides a hands-on technical look into how to:
  • "utilize Gherkin-written scenarios for test automation
  • "write scenarios in a way that promote maintainability and reusability
  • "take advantage of advanced Gherkin functionality such as data tables and objects
  • "tie the scenarios to automation code
  • "incorporate this approach into existing automation frameworks that use the page object model design pattern
  • "share state across multiple steps within a scenario
"Upon completion of this webinar, you’ll have a better understanding of how to:
  • "Enhance your BDD initiative with test automation
  • "Cleanly extend an automation framework to support executable requirement specifications
  • "Support advanced techniques such as data tables and objects within specifications, as well as sharing state through dependency injection".

The Speaker:

Angie Jones"Angie Jones is a Senior Software Engineer in Test at Twitter who has developed automation strategies and frameworks for countless software products. As a Master Inventor, she is known for her innovative and out-of-the-box thinking style which has resulted in more than 20 patented inventions in the US and China. Angie shares her wealth of knowledge by speaking and teaching at software conferences all over the world".

Speaker Contact Details:

Angie Jones – Senior Software Engineer in Test, Twitter
Twitter: @techgirl1908
LinkedIn: Angie Jones
Website: AngieJones.tech

July 12, 2017

Q & A with Angie Jones @ Ministry of Testing - Boston, Tuesday, July 11, 2017

Have you ever been to a film festival where after a film screening the director comes out for a Q & A session? Imagine if we did that with someone from the automated testing lecture circuit? 

Last night, members of the Ministry of Testing - Boston gathered together at Cengage Learning to watch a lecture of automated testing, followed by a live Q & A session by the lecturer.  The lecture for the evening? "The Build that Cried Broken". 

The Speaker:

Angie Jones"Angie Jones is a Senior Software Engineer in Test at Twitter who has developed automation strategies and frameworks for countless software products. As a Master Inventor, she is known for her innovative and out-of-the-box thinking style which has resulted in more than 20 patented inventions in the US and China. Angie shares her wealth of knowledge by speaking and teaching at software conferences all over the world".

Speaker Contact Details:

Angie Jones – Senior Software Engineer in Test, Twitter
Twitter: @techgirl1908
LinkedIn: Angie Jones
Website: AngieJones.tech


Care to read about Angie Jones' recent job search? Read her latest TechBeacon article,
Recruiting diverse engineering candidates: What tech companies still get wrong
at 

July 11, 2017

New MoT-Boston Meetup with Angie Jones tonight!

Right now, I am heading to another Ministry of Testing - Boston meetup. Tonight's special guest will be Angie Jones! 

Like a director hosting a Q & A session at a film festival after a movie has been screened, after watching her April 2017 "The Build That Cried Broken" http://youtu.be/VotJqV4n8ig Angie Jones, newly employed at Twitter, will be giving a talk via webconference. 

We have 20 people signed up. I hope at least 15 show! 

I swear, we have four hundred new members since January 2017 (700 total) and only ten might show on average. I wonder if it is the location, if iZotope or Cengage Learning are too out of the way? 

I have an enormous bag of swag to give away. SmartBear hoodies, pens and stickers. Sauce Labs T-Shirts and bike reflectors. Ministry of Testing stickers and pins. I just have more swag than attendees!

It was a good day today. I gave an hour presentation and demo on this Summer's Appiuum projects. I think it went well!

Here's hoping!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

July 3, 2017

30 Days of Performance Testing, sponsored by the Ministry of Testing!

From the Ministry of Testing UK Dojo: https://dojo.ministryoftesting.com/lessons/30-days-of-performance-testing

"30 Days of Testing is back! The theme is Performance Testing and this challenge has been kindly sponsored by PerfGuild.

"Below is a list of 30 challenges and a bonus challenge, one for each day of the month. Save it somewhere. Print it out. Stick it on your wall. Let’s do this!"

"The goal is to tick off as many of the challenges as you can. You can do this in your own timeframe, or you can join us in our joint community effort. We will be encouraging others to share their progress from the 1st of July 2017.

"You may have an image to share, a blog post, a video, status update, whatever it is! Come and participate!

"Here is how you can share your progress:




... Would you like to participate? Are you part of the Ministry of Testing - Boston? Use the hashtag #MOTB to signify you are from the Ministry of Testing - Boston.

Thank you so much Joe Colantonio of TestTalks.com and Mark from Ministry of Testing - Philly and all the rest for coming up with this original event!

Go to https://dojo.ministryoftesting.com/lessons/30-days-of-performance-testing and print out the image found, post it on your company's bulletin board. See how many your QA team at work can do!



-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

June 26, 2017

Notes from Zero to Continuous Delivery with Jenkins Pipeline and Blue Ocean

On-Demand Webinar: Zero to Continuous Delivery with Jenkins Pipeline and Blue Ocean
Register to watch it online here! https://pages.cloudbees.com/0621-webinar-zero-to-cd-with-blue-ocean-registration

"Jenkins has long been the hub of continuous delivery. Jenkins Pipeline, however, now brings a whole new world of possibilities. This video shows get started with Jenkins Pipeline and implement a complete, practical continuous delivery process from start to finish.

"This webinar shows you how to:
  • "Create a Declarative Pipeline for a Java and Node.js Project with the Blue Ocean Editor
  • "Safely iterate on a Jenkins Pipeline to add Build, Test, Analyze, and Deploy stages
  • "Launch different Docker agents for each stage
  • "Run stages in Parallel to improve Pipeline throughput
  • "Manually control promotion using the "input" step

June 20, 2017

Are you a software tester? Take the State of Testing Survey 2017, by SmartBear!

Tonight was wonderful! The Ministry of Testing - Boston gathered together in Assembly Square, Somerville, MA at the headquarters of SmartBear, maker of automated testing toolsets such as  SoapUI, SwaggerHub, and TestComplete.

SmartBear walked us through their entire testing process... They gave us so much information, it was difficult to take notes!

You can watch the program yourself at https://www.facebook.com/smartbear/videos/1943658005659610/

In the meantime, drop what you are doing and fill out their survey at https://www.surveymonkey.com/r/smartbear-state-of-testing-survey-social



























Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

June 18, 2017

My fifth article was published on TechBeacon! "How QA can build quality into your software pipeline"

I forgot to mention... Back on May 30th, my fifth article from TechBeacon was published: "How QA can build quality into the software pipeline"!

TechBeacon always finds the cutest opening graphics for my articles!








... I do prefer my original title, which referred to the changing definition of quality as you moved from being a manual tester to an automation developer.

I can't believe it was a year ago that Rob Mitchell, Managing Editor of TechBeacon gave me a call February of 2016 after I inquired about writing for HPE's online magazine... but I had never written professionally before. What the heck do I write about?

June 17, 2017

Notes from Eran Kinsbruner talk, The Digital Quality Handbook: Guidefor Achieving Continuous Quality in a DevOps Reality (June 13, 2017)

When the Ministry of Testing - Boston met up on Tuesday, June 13th, 2017, that evening's guest was Eran Kinsbruner, Mobile Technical Evangelist at Perfecto Mobile, talk about his book, The Digital Quality Handbook: Guide for Achieving Continuous Quality in a DevOps Reality, just released on April 28, 2017!

Perfecto sponsored the Ministry of Testing - Boston event. Thank you so much for setting up the event, along with the the refreshments, Lindsay!



About the The Digital Quality Handbook:


According to Amazon:
"As mobile and web technologies continue to expand and basically drives large organizational business in virtually every vertical or industry, it is critical to understand how to take existing release practices for mobile and web apps to the next level, including software development life cycle (SDLC), tools, quality, etc. Organizations which are already enjoying the power of digital are still struggling with various challenges that can be related to many factors, such as:

June 5, 2017

What happens behind the scenes as Appium installs and launches an Android app? Examining and footnoting a log file.

This is part seven of of a seven-part blog series. Care to go back to the beginning?

Have you ever wondered what is happening behind-the-scenes as Appium launches an app? Well, there is one way to find out...

Today, we will be taking a look at the log files captured in the Appium console, generated after I launch the APIDemos-debug.apk Android app, with the help of Appium, onto an Android emulator.

... Actually, this blog article wasn't written in a day. It took more than a few weekends to thoroughly research everything... and I do mean everything!

There are possible errors or questions on the inner workings on Appium, with insightful statements such as ... "Huh? What's this?" ... They are highlighted in red.

Is there anything I am wrong about? Please let me know! I am a complete novice when it comes to Appium (although, I have been hideously busy).  I only started learning it in March of 2017. The reason I am blogging about this is because I actually want you to comment if I am completely off-base, or if I am error about the inner workings of Appium or the world of Android development.

June 4, 2017

Notes: Automation, Selenium WebDriver, and PageObjects with AndrewBoyer (5/31/2017)

Have you ever wanted to learn about Automated Testing but wasn't sure where to start?

Members of the Ministry of Testing - Boston met last week to listen and bring questions to Andrew Boyer, a Software Developer in Test who has worked at both Google and Amazon. Andrew talked with us Wednesday, May 31st, 2017 about Functional Web Automation using Selenium WebDriver. 

Andrew Boyer, SDET

About the Speaker:

Andrew Boyer has worked in the software industry for more than twenty years, for companies as small as ten people, and as large as Google and Amazon. Working at times as a developer, tester, or even a sales engineer, he focuses now on process improvements and creating automation frameworks. He believes good automation is accessible to all job roles, and improves not just the quality of the shipping product, but also the velocity of the engineering organization.

LinkedIn: https://www.linkedin.com/in/andrew-boyer-4a00685/

June 1, 2017

Moshe Milman, COO of Applitools, speaks to the Ministry of Testing - Boston (5/23/2017)

We had a special guest on Tuesday, May 23rd, 2017 coming to speak to the Ministry of Testing - Boston!

Moshe Milman, COO and co-creator of Applitools gave a talk to the Ministry of Testing - Boston called "Advanced Test Automation Techniques For Responsive Apps And Sites". The event was sponsored by Cengage Learning, a twelve minute walk from South Station in Boston, MA, at 20 Channel Center Street, Boston, MA.

May 31, 2017

Build a Basic Appium Framework: Download the tests and run them on your own MacBook!

This is part five of of a seven-part blog series. Care to go back to the beginning?

Now that we have set up a rudimentary framework, now it's time for you to download the framework we have created onto your own local machine. We will be using IntelliJ's built in feature... But you could easily use GitHub Desktop or could even use Git.

... Do you have a GitHub account? Get one! Then go through the tutorials they show you. They can teach you more than this blog ever could.

May 30, 2017

Build a Basic Appium Framework: Set up the Page Objects, Page Factories and Tests

This is part four of of a seven-part blog series. Care to go back to the beginning?

Now, let's wrap things up by setting up a few Page Objects, add the Page Factory pattern to these building blocks we are creating, and then compose the test we designed all the way in Part Two.

BeforeSuite and AfterSuite Annotations


First things first... Remember how we made in the last chapter installing and launching the app itself the test?

Let's change that, placing it in a @BeforeSuite annotation from TestNG.

May 20, 2017

Build a Basic Appium Framework: Install and Launch an App Using Desired Capabilities

This is part three of of a seven-part blog series. Care to go back to the beginning?

INTERLUDE: Overheard at my workplace... 

"Now, type on the next line, Capital-D, DesiredCapabilities, one word! Then space, the word 'caps', space, equals sign, the word 'new', Capital-D DesiredCapabilities, one word! Open-parentheses, then close-parentheses, semi-colon.

"... On the right side of the equation, we just declared a new instance of the class DesiredCapabilities, part of the Selenium WebDriver library. To the left of the equation, we are placing that value in a variable we are calling "caps", and declaring that also to be of type DesiredCapabilities...

"... Why is the word DesiredCapabilities underlined in red in our editor? We haven't imported the library into our 'Smoketest.java' class. On the MacBook, it is CTRL+Enter to import. Press those keys at the same time right after you see the DesiredCapability IntelliJ tooltip. That is IntelliJ IDEA's 'Intellisense' feature..."

So far, I have spent two half-hour pair-programming sessions attempting to train a manual tester on my team how to do automation development. It's not exactly the blind-leading-the-blind, but it is pretty darned close.

I've only been doing automation development for the past two years, hopping around from Selenium WebDriver + Java at Fitbit, Nightwatch Js + JavaScript + NodeJs for a few months at Good Start Genetics. And I only have been teaching myself Appium since March since I signed up for this six month contract at Stop & Shop's parent company, where we are designing the next generation of mobile apps for Stop & Shop, Giant Food, and Martin's.

I have been working really hard to prove my worth over the past three months as a contractor:
  • Checking to see if we can used a favored automation tool used at this company, SerenityBDD, for mobile apps. (Answer? There really isn't that much documentation or support on it). 
  • Exploring Appium Desktop, using that as a teaching tool to explain setting up an Appium environment
  • Putting together the basic Appium framework 

My latest pet project is seeing if through one-on-one training I can get a manual testers to be able to design their first automated test, then add it to my basic test framework in a pull request... all in just ten half-hour sessions.

One roadblock, besides the fact I only started teaching myself Appium + Java in March when I was hired for this contract position? I can't shake this cold I caught two weeks ago, and I keep on losing my voice. My voice is a bullfrog croak and end up shouting in my trainee's ear too loudly as I try to excitedly improvise a lesson for my first test subject, a former SysAdmin who now is a manual tester on our project. He has some tinkering in Java, but not much.

"Okay -- brace yourself! This next code block will contain a lot of typing..."

Rule Number One: Trainees have to type everything out. Every semi-colon. Every statement. Every code block.

Rule Number Two: No wizards except the first one to set up the initial project. I walked him through creating a new Gradle + Java project with IntelliJ IDEA with the New Project Wizard. How to create a new directory off of the root directory called "src". How to create a sub-directory called "test". And another one called "java".

Rule Number Three: Trainees have to do their own searching. Do we need to import a new Java library into our project? I tell the trainee to Google the word "Maven Repository". I describe to him how to go to and search the Mvnrepository.com site for a third party dependency for Appium's Java-Client library. I tell him to copy-and-paste the code from the "Gradle" tab and back into our build.gradle file, in the 'Dependencies' code block.

Rule Number Four: I saw on Twitter recently this question by a beginning programmer:

  • Is it okay to copy-and-paste code? 
  • To copy? Yes. To paste? No.
... I am trying to have the trainee follow this dictum.

... Okay, enough about work. Let's get back to learning about DesiredCapabilities, where we match the Appium Server that is running with the Android emulator that is running. Three questions though...


May 18, 2017

New published article! "Coding is key to a test automation career: Are you prepared?"

I just published my fourth article for TechBeacon!



Coding is key to a test automation career: Are you prepared?

Want to know all the resources I have used to study automation development? Give it a read!

As Always .... Happy Testing!
-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

May 17, 2017

How to create and launch an Android emulator from Android Studio

Today, let's walk through how to create and launch an Android emulator with Android Studio.


What does an Android Emulator Consist Of?


"The Android Emulator runs a full Android system stack, down to the kernel level, that includes a set of preinstalled apps (such as the dialer) that you can access from your apps. You can choose which version of the Android system you want to run in the emulator when creating AVDs.

"The Android system images available through the AVD Manager contain code for the Android Linux kernel, the native libraries, the VM, and the various Android packages (such as the Android framework and preinstalled apps)". - Developer.Android.com, Run Apps on the Android Emulator



Do You Have Android Studio Downloaded?


First things first! Do you have Android Studio downloaded and installed?



May 16, 2017

Build a Basic Appium Framework: Design a Basic Test, Examining Mobile Elements

This is part two of of a seven-part blog series. Care to go back to the beginning

Last blog post, we reviewed installation and setup. For this one, let's write a simple mobile automation test, for this app, then investigate all mobile elements involved, with Appium Desktop.

The app we will be testing, ApiDemos-debug.apk

Our Basic Test:
  • Fire up the app, make sure the title on the first screen says “API Demos”
  • Select the “Text” button. Make sure that “LogTextBox” appears as an option.
  • Select “LogTextBox”. Make sure that the “Text/LogTextBox” header appears.
  • Select the ADD button.
  • Assert that the words “This is a test” appears in the panel.

May 15, 2017

Build a Basic Appium Framework: Review How to Inspect Mobile Apps with Appium Desktop

For this next blog series, we will be building a basic Appium Framework built on top of the information gathered in the Learning Appium Desktop series. This basic mobile automation test framework we will be constructing will consist of:

  • Appium Desktop: To investigate the app we will be writing automated tests for, and to start up an Appium server on our local machine. ( Official GitHub site
  • An Android Emulator: Created by Android Studio and the Android Virtual Machine (AVM) Manager, connected to your local computer with the Android Debug Bridge ("adb"). ( Official Developer.Android.Com site on emulators )
  • The code will be written in the Java Client version of Appium using a MacBook and IntelliJ as an Integrated Development Environment (IDE). Although Android Studio, IntelliJ, and Android .apk files run on both Windows and Macs, the next version of this project will consist of emulated iPhones, iPads and Apple .ipa files use XCode, which (as far as I know) doesn't work on Windows machines. ( Official Github for appium/java-client )
  • Tests will be kicked off using TestNG. I like the annotations and the built in ability to have parallel tests running. We won't explore it in this particular series, but we will later. ( See the official TestNG site ).  
  • It will use Hamcrest, a Java matcher program in order to create very readable tests. (Official site for http://hamcrest.org/ )
I will be attempting to finish code walkthrough over the next two weeks on a Monday / Wednesday / Friday publishing schedule.

May 14, 2017

Building a Basic Appium Mobile Testing Framework

This weekend, I finally wrote my first Appium framework! I've been wanting to do that for a while! It uses Appium + Java + TestNG + Hamcrest + the Page Object Pattern + Page Factories.

ApiDemos-debug.apk is the application under test. Check out the framework at my GitHub site!

I am halfway finished through a code walkthrough I can place on my blog, a series in five parts. It should be ready in a few weeks. The goal is to give manual testers a glimpse in how an Appium framework could be created. It'll have instructions on how to download and run the tests.

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"