-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
1,614 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# ANDROID AUTOMATION WITH APPIUM | ||
|
||
## Getting started | ||
|
||
This guide will show how to use the automation scripts written in Java using Appium. | ||
The basics configuration needed as well as common tools that need to be modified in | ||
order to do a proper setup. | ||
|
||
### ==================================================== | ||
|
||
#### SETUP REQUIREMENTS | ||
Appium server installation v1: | ||
|
||
FOR MACOS | ||
|
||
_**NOTE**: Homebrew must be set previously. If is not, follow this link for instructions: | ||
[Homebrew Setup](https://docs.brew.sh/Installation)_ | ||
* brew install node | ||
* npm install -g appium | ||
* npm install wd | ||
* appium & | ||
|
||
The needed dependencies are located in the ```pom.xml``` file. | ||
To take in consideration: | ||
1. TestNG v7.5 still works with Java v8, newer versions require Java v11 or above. | ||
2. Selenium v4.8.1 still works with Java v8. Newer version are backward compatible. | ||
3. For more info check this link [Java Client migration from 7 to 8](https://github.com/appium/java-client/blob/master/docs/v7-to-v8-migration-guide.md). | ||
4. This works with IntelliJ IDE as default. If another is used like Eclipse or VSCode, an effort research is required. | ||
|
||
#### HOW TO EXECUTE THE CODE? | ||
|
||
* Launch IntelliJ IDE | ||
* Open the project | ||
* Look for ```pom.xml``` file, right click then click "Reload project" | ||
* Once is finished, look in "test>java>configMaps.xml" file | ||
* Modify the section ```<!-- Mobile Main Config Parameters -->``` with your devices | ||
``` | ||
<parameter name="platformVersion" value="ANDROID_VERSION"/> | ||
<parameter name="deviceName" value="DEVICE_ID"/> | ||
``` | ||
* Save the file | ||
* Right click then click "Run '.../src/test/'configMaps.xml'" | ||
|
||
|
||
#### ADDITIONAL NOTES | ||
|
||
Keep in mind that this is for macOS supported configuration. If you are on windows, | ||
the easiest way is to execute Appium GUI app. | ||
|
||
|
||
#### HELPFUL LINKS | ||
* http://appium.io/docs/en/2.0/ | ||
* https://github.com/appium | ||
* https://www.browserstack.com/guide/download-and-install-appium | ||
* https://testng.org/doc/documentation-main.html | ||
* https://www.selenium.dev/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
|
||
<!-- | ||
~ Copyright 2023 Open Mobile Hub | ||
~ | ||
~ Licensed under the Apache License, Version 2.0 (the "License"); | ||
~ you may not use this file except in compliance with the License. | ||
~ You may obtain a copy of the License at | ||
~ | ||
~ https://www.apache.org/licenses/LICENSE-2.0 | ||
~ | ||
~ Unless required by applicable law or agreed to in writing, software | ||
~ distributed under the License is distributed on an "AS IS" BASIS, | ||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
~ See the License for the specific language governing permissions and | ||
~ limitations under the License. | ||
--> | ||
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.qaautomation.appiumframeworktests</groupId> | ||
<artifactId>AppiumFrameworkTests</artifactId> | ||
<version>1.0-SNAPSHOT</version> | ||
|
||
<!-- Mobile framework dependencies --> | ||
<dependencies> | ||
|
||
<dependency> | ||
<groupId>io.appium</groupId> | ||
<artifactId>java-client</artifactId> | ||
<version>8.3.0</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.testng</groupId> | ||
<artifactId>testng</artifactId> | ||
<version>7.7.1</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.seleniumhq.selenium</groupId> | ||
<artifactId>selenium-java</artifactId> | ||
<version>4.8.1</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.apache.commons</groupId> | ||
<artifactId>commons-io</artifactId> | ||
<version>1.3.2</version> | ||
</dependency> | ||
|
||
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple --> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-simple</artifactId> | ||
<version>2.0.7</version> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
</dependencies> | ||
<!-- Mobile framework dependencies --> | ||
|
||
<properties> | ||
<maven.compiler.source>8</maven.compiler.source> | ||
<maven.compiler.target>8</maven.compiler.target> | ||
</properties> | ||
|
||
</project> |
Oops, something went wrong.