Hi everyone, and welcome.

In this course, we will get started with Mobile UI Testing with Appium and Java.

My name is Moataz Nabil - I'm a Senior Software Engineer in Test and a Test Automation expert, and I'm happy to be your instructor in this course.

Let's start with the course overview, and in this session, we will start with "What will I learn during this course?"

We will learn about:

  • Understanding the Appium Philosophy and Architecture
  • How to install Appium on different Operating Systems, like macOS and Windows OS Understanding the Appium desired capabilities
  • Getting started with automating tests with Appium in Java
  • Knowledge of how to automate Android and iOS native apps with Appium
  • Running tests on iOS real devices
  • Automating mobile gestures
  • Applying different patterns with Appium tests, such as Page Objects, Data-Driven and BDD
  • Running tests on parallel devices and local machines and cloud devices
  • Running tests on the CI server, such as GitHub Actions

# What is Appium?

Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS, mobile, Android, and Windows desktop platforms.

The second point is:** Appium is cross-platform**.

It allows you to write tests against multiple platforms such as iOS, Android, and Windows, using the same API.

So here we have the two main features of Appium:

  1. It is open-source so you can start using it from today.

  2. It's free and it's cross-platform, so you can use it with different types of applications for iOS and Android or Windows desktop.

You can also write Appium tests with different programming languages such as Java, Python, JavaScript, C#, and Ruby.

That means that it is not required to learn a specific programming language to use Appium, but it supports multiple or different programming languages.

About me - currently I'm working as a Senior Software Engineer in Test at Delivery Hero in Berlin in Germany.

I'm also an instructor at Test Automation University - I already have two live courses - one for Espresso for Android, and one for TestCafe using JavaScript.

I have worked before in business domains like Agriculture, Telecom, Healthcare, Fashion, and Food delivery.

I designed test automation frameworks for Web, Mobile, and API using different sets of tools and technologies.

Also, I implemented different CI/CD pipelines using different tools like GitLab, Bitbucket, Bitrise, GitHub Actions, and Jenkins.

This is my Twitter account: @moatazeldebsy, my GitHub account: moatazeldebsy, and my technical blog.

If you have any questions, you can send them to me.

# Our course content

We will start by talking about:

  • Introduction to Mobile Testing
  • Introduction to Appium to learn what is the Appium philosophy, what is the architecture behind Appium, and how we can use Appium in our tests
  • Installing and running Appium on the different operating systems, such as macOS and the Windows Operating System
  • Interacting with different elements using Appium for both Android and iOS
  • Writing the first test for Android application and iOS applications
  • Working with the Page Object with Appium and how we can implement it using Java and Appium
  • Using Data-Driven with JSON files and Appium
  • Working with BDD, or Behavior Driven Development, and Cucumber with Appium scripts
  • Distribute our tests using Appium on different devices at the same time
  • Web testing with Appium
  • Continuous integration with GitHub Actions to run our tests on the CI server

# Course Prerequisites

The prerequisites for Appium:

  • Installation of Nodejs 10+ and Node Package Manager (NPM)
  • Appium
  • Appium Doctor
  • Java JDK +8
  • Maven
  • IntelliJ as an IDE, which is the recommended IDE, but you can use any editor or IDE that you want

The iOS requirements to use Appium:

  • Mac OS Operating System version 10.13 or higher
  • Homebrew installed
  • Xcode installed (+10 on your machine)
  • Carthage
  • Ios-deploy
  • ideviceinstaller
  • Apple developer account
  • Apple developer tools (including iPhone simulator SDK and command-line tools)

If you are planning to run our tests on a physical device - you should have these things: Apple account or Apple developer account, ideviceinstaller, iOS deploy, and Carthage.

But if you are using a simulator only, you can just use MacOS, Homebrew, Xcode, and Apple developer tools.

For Android, it's simple, we just need to install Android SDK +16 - which includes the Android emulator and the command-line tools.

Now, this is the start of our journey with Appium, and I hope that the course will be useful for everyone.


© 2024 Applitools. All rights reserved. Terms and Conditions Privacy Policy GDPR