Skip to content

Running Appium Server with GitHub Action to be able to run Appium mobile test automation scripts

License

Notifications You must be signed in to change notification settings

moatazeldebsy/Appium-Server-GitHub-Action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Appium Server GitHub Action

Release Marketplace

Running Appium Server with GitHub Action to be able to run Appium mobile test automation scripts (Android)

Inspired by the 2020 GitHub Actions Hackathon.

Note

This action is expected to be run within a ubuntu virtual machine and Android apps

appium

What is Appium?

Appium is an open-source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.

appium

What is the problem ?

The problem now that, how can we run an Appium server on GitHub Actions? Because we are using a GUI tool like Appium Desktop on our local machines, So we need to run the Appium server from the command line and in the background to be able to run the rest of the commands.

The Solution

I created this GitHub action to install the Appium server using nodeJS and npm then running it in the background.

Usage

workflow/main.yml:

name: Appium CI
on: [push]

jobs:
  Sauce Labs App Automate:
    runs-on: ubuntu-latest
    name: Appium Test
    steps:
      - name: Checkout
        uses: actions/checkout@v2
       - name: Install and Run Appium Server
         uses: moatazeldebsy/[email protected]

Usage in in the code

@BeforeClass
    public void setUp() throws MalformedURLException {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("automationName" , "UiAutomator1");
        caps.setCapability("platformName" , "Android");
        caps.setCapability("platformVersion" , "7.1.1");
        caps.setCapability("deviceName" , "Android Emulator");
        caps.setCapability("app" , System.getProperty("user.dir")+"/apps/selendroid-test-app-0.17.0.apk");
        driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), caps);
    }

Contributing

Are you facing an issue? Have some questions? Would like to implement a new feature? Learn more about our contributing guidelines.


Licence

The project is released under the MIT License.