16
1 Confidential and propriety Galil Software, Ltd. 2012 5/22/22 Appium - Automation for Apps uthor: ael Abd Aljawad – Automation Technical Leader

Appium presentation matific

Embed Size (px)

Citation preview

Page 1: Appium presentation   matific

1Confidential and propriety Galil Software, Ltd. 2012

May 1, 2023

Appium - Automation for Apps

Author:Nael Abd Aljawad – Automation Technical Leader

Page 2: Appium presentation   matific

2Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium is an open source test automation framework for use with native, hybrid and mobile web apps.

It drives iOS and Android apps using the WebDriver protocol.

Appium

Page 3: Appium presentation   matific

3Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Drivers Relationship

Page 4: Appium presentation   matific

4Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Webdriver FW Design

Page 5: Appium presentation   matific

5Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium Design

Page 6: Appium presentation   matific

6Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Current FW

Page 7: Appium presentation   matific

7Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Report

Page 8: Appium presentation   matific

8Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Mobile Automation Tools Comparison 

Page 9: Appium presentation   matific

9Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Client/Server ArchitectureAppium receives connections from a client, listens for commands, executes those commands on a mobile device, and responds with an HTTP response representing the result of the command execution.

We can write our test code in any language that has a http client API, but it is easier to use one of the Appium client libraries. We can put the server on a different machine than our tests are running on. We can write test code and rely on a cloud service like Sauce Labs to receive and interpret the commands.

Page 10: Appium presentation   matific

10Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium Architecture

Page 11: Appium presentation   matific

11Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Session

Session Object

Clients initiate a session with a server in ways specific to each library, but they all end up sending a POST /session request to the server, with a JSON object called the 'desired capabilities' object. At this point the server will start up the automation session and respond with a session ID which is used for sending further commands.

Page 12: Appium presentation   matific

12Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Desired Capabilities

JSON

Desired capabilities are a set of keys and values sent to the Appium server to tell the server what kind of automation session we're interested in starting up. There are also various capabilities which can modify the behavior of the server during automation. For example, we might set the platformName capability to iOS to tell Appium that we want an iOS session, rather than an Android one.

Page 13: Appium presentation   matific

13Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium Server

Appium is a server written in Node.js. It can be built and installed from source or installed directly from NPM.

AppiumServer

Page 14: Appium presentation   matific

14Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium Clients

There are client libraries (in Java, Ruby, Python, PHP, JavaScript, and C#) which support Appium's extensions to the WebDriver protocol. When using Appium, you want to use these client libraries instead of your regular WebDriver client. You can view the full list of libraries here.

Page 15: Appium presentation   matific

15Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Appium GUI

Page 16: Appium presentation   matific

16Confidential and propriety Galil Software, Ltd. 2012

25.12.11

Thank You

Nael Abd Aljawad

Nael Abd Aljawad – Automation Technical Leader