A Beginner's Guide to AI and Testing
  • Welcome AI Testers!
  • TUTORIAL
    • Exercise: Object Detection
    • Exercise: Try Chopper Yourself
    • Exercise: Python Chopper
  • Demo: Build Your Own Chopper
  • Exercise: Build Your Own Agent
  • Demo: AGENT Exploration
  • Demo: AGENT Test Generation
  • SELF STUDY
    • How-to: Teachable Machine
    • How-to: Build Your Own Classifier
    • How-to: AI Using Appium
    • How-to: Template Matching
Powered by GitBook
On this page
  • Updated Instructions (2024)
  • Open Notebook on Google Colab
  • Run Template Matching
  • Viewing the Results
  • Viewing the Results
  • Congratulations!
  • Legacy Instructions (Deprecated)
  • At a Glance
  • Set Up Your Jupyter Server
  • Launch Notebook
  • Run Template Matching
  • Viewing the Results
  • Congratulations!

Was this helpful?

  1. SELF STUDY

How-to: Template Matching

In this exercise, you will get to try out template matching.

PreviousHow-to: AI Using Appium

Last updated 1 year ago

Was this helpful?

Updated Instructions (2024)

Open Notebook on Google Colab

Navigate to and click on "Open in Colab" at the top.

Run Template Matching

Follow the steps on the notebook, executing each of the Python code blocks in the order in which they appear. To execute a code block, click the Play icon to the left of the block.

Note: After executing the first code block, an upload file widget will appear. This widget allows you to upload an image file from your computer. This, in turn, is the image that will be queried.

Note: After executing the second code block, an upload file widget will appear. This widget allows you to upload an image file from your computer. This, in turn, is the image that will be used as a template.

After uploading a file, simply follow the instructions in the Jupyter notebook, executing each of the code blocks in the order of which they appear.

Viewing the Results

Viewing the Results

When viewing the results, you will be able to see a Screenshot Image with the matching bounding box along with a Confidence Score for the match.

Discussion Topic: How useful do you think this would be for testing purposes? Note that this approach allows us to locate elements on an application screen without using a Document Object Model (DOM) or similar page source for mobile applications.

What are some drawbacks of relying on the DOM or on page source?

Discussion Topic: How reliable was the template matching algorithm? How about when changing the various different switches?

Congratulations!

For making it even further. Not only have you used deep learning models, but you've also got a simpler, less computationally-intensive technique in your toolbox.

Legacy Instructions (Deprecated)

At a Glance

In this exercise, you will:

Set Up Your Jupyter Server

Enter the following credentials:

  • Username should be your e-mail address or first + last name.

  • Password should be admin.

Your e-mail information is not being collected. We need to ensure your username is unique when considering all tutorial attendees.

Click on Sign In.

After a few short moments, your unique Jupyter notebook server will be created for you.

Launch Notebook

Double click the template_matching.ipynb notebook.

Run Template Matching

Follow the steps on the notebook, executing each of the Python code blocks in the order of which they appear. To execute a code block, first click the block, then click the Play icon.

Note: After executing the first code block, an upload file widget will appear. This widget allows you to upload an image file from your computer. This, in turn, is the image that will be queried.

Note: After executing the second code block, an upload file widget will appear. This widget allows you to upload an image file from your computer. This, in turn, is the image that will be used as a template.

After uploading a file, simply follow the instructions in the Jupyter notebook, executing each of the code blocks in the order of which they appear.

Viewing the Results

When viewing the results, you will be able to see a Screenshot Image with the matching bounding box along with a Confidence Score for the match.

Discussion Topic: How useful do you think this would be for testing purposes? Note that this approach allows us to locate elements on an application screen without using a Document Object Model (DOM) or similar page source for mobile applications.

What are some drawbacks of relying on the DOM or on page source?

Discussion Topic: How reliable was the template matching algorithm? How about when changing the various different switches?

Congratulations!

For making it even further. Not only have you used deep learning models, but you've also got a simpler, less computationally-intensive technique in your toolbox.

, powered by JupyterHub

the template_matching.ipynb Python notebook

the template matching algorithm

produced by template matching

Navigate to and make sure you arrive at the following login screen:

https://jupyterhub.dionny.dev
Create your very own Jupyter server
Launch
Run
View the results
https://github.com/dionny/ai-tutorial-notebooks/blob/main/template_matching.ipynb
Widget For Uploading a File
Jupyter Server Login Screen
Your Own Unique Jupyter Server
Executing a Code Block on Jupyter
Widget For Uploading a File