2. About me
My name is Kamil Zieliński.Currently I am working at Kainos as
Trainee Software engineer.
At weekends I am doing master studies at University of Gdansk.
My free time I spends on gym and discovering new technologies
3. Agenda
1. Intro
2. About me
3. Agenda
4. What is Appium?
5. Appium Philosophy
6. Installation
7. How it works in theory
8. How it works in practice
9. Demo
10. My thoughts
11. Questions
12. Thank you & more info
13. Bibliography
4. Appium
Appium is an open source test
automation framework for use
with native and hybrid mobile
apps.
7. Rule 1
You shouldn't have to recompile your
app or modify it in any way in order to
automate it.*
iOS: Apple's UIAutomation
Android 4.2+: Google's UiAutomator
Android 2.3+: Google's Instrumentation. (Instrumentation support is provided by bundling a separate
project, Selendroid)
8. Rule 2
You shouldn't be locked into a specific
language or framework to write and run
your tests.
9. Rule 3
A mobile automation framework
shouldn't reinvent the wheel when it
comes to automation APIs.
10. Rule 4
A mobile automation framework should
be open source, in spirit and practice as
well as in name!
It’s open source!
11.
12. Appium server installation*
> brew install node # get node.js
> npm install -g appium # get appium
> appium & # start appium
> write and run your tests
19. Summary
Advatages Disadventages
Open source Differences between iOS and Andorid API features
(iOS and missing API to disable internet on device…)
Easy to understand Still in development ( problems with simulator )
Inherits Selenium features
Can be written in any language
Big community
Good for simple business applications
Tak przedstawia sie bilans aplikacji w appstorze ;)
Jak widac rynek mobilny caly czas sie rozwija co za tym idzie, jest coraz wiecej pracy dla testerow ;)
Dzis postatam sie Panstwu opowiedziec o pewnym narzedziu ktory moze pomoc Wam w testowaniu aplikacji mobilnych
Procz pracy studjuje infe zaocznie, wolny czas spedzam na silowni albo bawiac sie nowymi technologiami
O czym bedziemy dzisiaj mowic :
Podobienstwo do selenium ale nie bede sie skupial aby
Filozofia appium
Nie musimy specjalnie kompilowac naszej apki pod wybrany framework testowy. Testujemy apke taka jaka wydajemy. To Appium sam robi za nas ta robote zaprzegajac do pracy inne frameworki
To uzytkownik wybiera w jakim jezyku chce pisac testy! Appium dziala na architekturze Client-Serwer, wiec wlasciwie wszytskie jezyki, ktore potrafia wyslac HTTP requesta moga byc uzywane. Na chwile obecna mamy dostep do clientow w nastepujacych jezykach:…
Uzywa API znanego z testow seleniumowych, ktore staly sie defacto standardem opisanym w W3C Working Draft
Tabela porownujaca inne frameworki do zasad spisanych przez Appium, Jak widac tylko Appium spelnia wszytskie 4 zasady
Podobnie jak przy zwyklym selenium
Client/Server ArchitectureAppium is at its heart a webserver that exposes a REST API. It 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. The fact that we have a client/server architecture opens up a lot of possibilities: 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.
Dobra, ale jak wyglada pisanie takich testow? Na przegladarce mamy HTMLa ktorego mozemy podgladac uzywajac konsoli developerskiej. Jak te elementy wygladaja w aplikacji ? Jak wyszukac dana kontrolke ? Prosze sluchac uwaznie bo to jest bardzo wazna czesc tej prezentacji! A wiec!
Layout aplikacji jest opisany w XMLu
Do wyszukiwania elementow mamy dwa sposoby:
A) przez console (tego nie bedziemy tu omawiac)
B) przez Appium inspektora (print screen)
Opis co mozemy zrobic w inspektorze,
Jak wyglada flow pisania testu
Pokazanie kodu wraz z xpathem/id/etc
Pokazac najpierw apke
Ten kod oraz aplikacje udostepnie Panstwu