An open API service indexing awesome lists of open source software.

https://github.com/husna-poyraz/mobile-automation-with-appium-in-java

Mobile Automation with Appium in Java
https://github.com/husna-poyraz/mobile-automation-with-appium-in-java

appium java mobile mobile-testing test-automation

Last synced: 3 months ago
JSON representation

Mobile Automation with Appium in Java

Awesome Lists containing this project

README

          

# Mobile Automation with Appium in Java

## This repository content;
1- Introduction to Mobile Testing

2- Introduction to Appium

3- Installing and running Appium

4- Interacting with Elements

5- Writing the First Test

6- Page Object with Appium

7- Data-Driven with Appium

8- BDD and Cucumber with Appium

9- Parallel Tests with Appium

10- Web Testing with Appium

11- Continuous Integration with Github Actions

## Requirements
Appium

* Nodejs 10+ and NPM
* Appium
* Appium Doctor
* Java JDK +8
* Maven
* IntelliJ IDEA


iOS Requirements

* Mac OS X 10.13 or higher
* Homebrew
* XCode +10
* Carthage
* ios-deploy
* ideviceinstaller
* Apple Developer Account
* Apple Developer Tools (iPhone simulator SDK and command-line tools)

# 1- Introduction to Mobile Testing
* Testing your mobile app is a vital part of the app development process.
* By running tests against your mobile app, you can verify your app's correctness, functional behaviour, and usability before you release it public.



Native Vs. Cross-Platform Mobile Testing Tools

* Cross-Platform: are support all mobile platforms, including iOS, Android and Windows such as Appium

* Support many programming languages

* Native: developed, released and support one single mobile platform such as Espresso for Android and XCUITest for iOS

* You can use only Java or Kotlin for Espresso and Swift or Objective-C for XCUITest



Types of Mobile Platforms

* Android is both an OS and a software platform for mobile devices such as smartphones, tablet computers, TVs, media players and cars.

* iOS is a mobile OS developed by Apple for the iPhone and iPad touch. Until the beginning of 010 it was called iPhone OS on the iPhone and iPad OS on the iPas, In September 2019, the version for the iPad was launched as an independent iPasOS separated from iOS again.

* Windows Phone is an OS for smartphones that was developed by Microsoft. It has been the preferred OS since the alliance between Microsoft and Nokia announced in February 2011.




Virtual Vs. Real Device

Emulators

* are usually virtualized mobile devices.
* A good emulator runs exactly the same OS as the physical device that it is emulating, and is therefore a really good option for mobile device testing.
* The disadvantage to using an emulator is that emulators have limitations include hardware components such as Bluetooth receivers, GPS receivers, cameres.


Physical Devices

* Testing on physical devices is a good idea when you need test results to be as accurate as possible.
* Testing on physical device gives you the most accuratte test results because, simply put, you are testing on the actual device on which your software will run.





# 2- Intoduction to Appium
## What is Appium?
* Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms.
* Appium is cross-platform: it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API.
* You can write Appium tests with different programming languages such as (Java, Python, Javascript, C#, and Ruby).
* Native apps are those written using the iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser.