Appium Udžbenik za početnike
⚡ Pametni sažetak
Appium Vodič za Android i testiranje mobilnih aplikacija za iOS predstavlja okvir za automatizaciju korisničkog sučelja otvorenog koda koji pokreće nativne, hibridne i web aplikacije na obje platforme s jednim Selenium-kompatibilan API. Ovaj vodič objašnjava kako Appium radovi, koraci instalacije, Inspector, prilog emulatora i Java Testni slučaj kalkulatora.

Što je Appium?
Appium je slobodno distribuirano korisničko sučelje mobilne aplikacije otvorenog koda testiranje okvir. Appium Omogućuje testiranje nativnih, hibridnih i web aplikacija te podržava automatizaciju na fizičkim uređajima, kao i na emulatorima i simulatorima. Nudi testiranje aplikacija na više platformi — jedan API radi za oboje Android i iOS testne skripte.
Appium ima Ne ovisnost o operativnom sustavu mobilnog uređaja. Okvir obavija i prevodi Selenium WebDriver naredbe u UIAutomation (iOS) ili UIAutomator (Android) naredbe ovisno o vrsti uređaja, a ne o verziji temeljnog operacijskog sustava.
Appium podržava svaki jezik koji postoji Selenium klijentske knjižnice — Java, Cilj-C, JavaScript s Node.js-om, PHP-om, Rubyjem, Python, C#, I više.
Kako Appium Raditi?
- Appium je HTTP poslužitelj napisan na Node.js platforma koja pokreće iOS i Android sesije koristeći WebDriver JSON žični protokol. Node.js mora biti unaprijed instaliran na sustavu prije pokretanja Appium poslužitelj.
- Kada Appium Nakon preuzimanja i instalacije, na lokalnom računalu se postavlja poslužitelj koji pruža pristup REST API-ju.
- Poslužitelj prihvaća zahtjeve za povezivanje i naredbe od klijenta i izvršava naredbe na mobilnom uređaju (Android ili iOS).
- Odgovara HTTP odgovorima. Za izvršavanje zahtjeva, Appium pozivi u izvorne okvire za mobilnu automatizaciju za pokretanje korisničkog sučelja aplikacije:
- Apple Instruments za iOS (Instrumenti su dostupni samo u Xcode 3.0 ili noviji s OS X v10.5 i novijim).
- Google UIAutomator za Android API razina 16 ili viša.
- Selendroid za Android API razina 15 ili niža.
Preduvjeti za korištenje Appium
- Instalirati Android SDK (Studio) [Veza].
- Instalirati JDK (Java Razvojni komplet) [Veza].
- Instalirati Eclipse [Veza].
- Instalirati TestNG za Eclipse [Veza].
- Instalirati Selenium Poslužitelj JAR [Veza].
- Appium Knjižnica klijenata [Veza].
- Informacije o APK aplikaciji on Google Igraj [Veza].
- Node.js (nije strogo obavezno — kada Appium Server je instaliran, Node.exe i NPM su u paketu s trenutnim Appium verzija).
- Instalirati Appium desktop.
Instalirati Appium desktop
Appium Desktop je GUI aplikacija otvorenog koda koja instalira i pokreće Appium Server. Dolazi u paketu sa svim preduvjetima potrebnim za korištenje Appium Server, a dolazi s Inspektorom za prikaz osnovnih informacija o vašim aplikacijama i Recorderom za generiranje standardnog koda koji automatizira mobilne aplikacije.
Korak 1) Idi na http://appium.io/ i kliknite Preuzmi Appium.
Korak 2) Za Windows, odaberite .exe datoteku i preuzmite je. Datoteka je velika oko 162 MB i preuzimanje će trajati neko vrijeme ovisno o brzini vaše internetske veze.
Korak 3) Kliknite preuzetu .exe datoteku.
Korak 4) Na Windows stroj, nema čarobnjaka za instalaciju — Appium pokreće se izravno iz .exe datoteke. Nakon što kliknete na .exe, sljedeći splash se pojavljuje na nekoliko minuta.
Za macOS, morate instalirati .dmg datoteku.
Korak 5) Otvara se prozor Server Start. Popunjava zadani host i port (koje možete promijeniti) i prikazuje Appium verzija u upotrebi.
Korak 6) Kliknite Pokreni poslužiteljNovi poslužitelj se pokreće na navedenom hostu i portu, a zapisnik poslužitelja pojavljuje se u konzoli.
Korak 7) Kliknite Novi prozor sesije.
Korak 8) Unesite željene mogućnosti i započnite sesiju.
Appium Inspektor
Slično kao i Selenium IDE alat za snimanje i reprodukciju, Appium ima Inspektor za snimanje i reprodukciju testova. Snima i reproducira ponašanje izvorne aplikacije pregledom DOM-a i generira testne skripte na bilo kojem podržanom jeziku. Imajte na umu da Appium Inspektor nije podržan na Microsoft Windows: uključeno Windows pokreće Appium Poslužitelj, ali ne uspijeva pregledati elemente. UIAutomator Viewer je preporučena rezervna opcija za pregled elemenata na Windows.
Koraci za početak Appium Inspektor na Mac računalu:
Korak 1) Preuzmite i pokrenite svoj Appium poslužitelj koristeći zadanu IP adresu 0.0.0.0 i port 4725.
- Odaberite izvornu datoteku ili .app datoteku s lokalnog diska za testiranje.
- Označite potvrdni okvir "Put aplikacije" kako biste omogućili gumb "Odaberi".
Korak 2) Kliknite gumb "Odaberi" za pregledavanje i odabir testne datoteke s lokalnog pogona.
Korak 3) Pokrenite iOS simulator na Mac računalu.
Korak 4) kliknite Lansirati gumb u gornjem desnom kutu. To omogućuje plavu ikonu — kliknite tu ikonu da biste otvorili Appium Inspektor i simulator s unaprijed odabranom aplikacijom.
Korak 5) Nakon što je pokrenut, Appium Inspektor prikazuje hijerarhiju elemenata u stupčanoj strukturi. Korisnik također može primijeniti radnje poput dodira, prevlačenja i sličnih gesti.
Korak 6) Kliknite zaustaviti za završetak snimanja.
Priložite Android Emulator za Appium
Korak 1) Instalirati Android SDK na vašem sustavu.
Otvorite Upravljačka ploča > Sustav i sigurnost > Sustav. Na lijevoj ploči kliknite Napredne postavke sistemaU skočnom prozoru Svojstva sustava kliknite napredan tabulator, a zatim Varijable okoline.
Korak 2) U skočnom prozoru Varijable okruženja dvaput kliknite Put i postavite ANDROID_HOME varijablu koja pokazuje na vaš SDK direktorij. Dodajte punu putanju SDK mape. Na primjer:
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Korak 3) Pokrenite Android emulator ili priložite Android uređaj na vaš sustav. Provjerite je li USB ispravljanje pogrešaka omogućeno na Android uređaj: idite na Postavke uređaja > Opcije za razvojne programere > omogućite "USB otklanjanje pogrešaka".
Korak 4) Otvorite naredbeni redak i idite do Android SDK-ovi \platform-tools\ imenik (npr. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Korak 5) Pokreni adb devices naredba. Vaš povezani uređaj pojavit će se na popisu u prozoru naredbenog retka. Puni oblik je: adb -s emulator-5554 install <Location of .apk file>.
Korak 6) Pokreni adb start-server naredba. ADB poslužitelj se pokreće i Appium koristit će ga za slanje naredbi vašem Android uređaj.
Korak 7) Dođite na Appium direktorij na vašem sustavu i pokrenite Appium klikom na gumb Appium.exe datoteku.
Korak 8) Ne mijenjajte zadanu IP adresu ili broj porta. Kliknite Lansirati, vaš Appium Konzola počinje na 127.0.0.1:4723 kao što je prikazano dolje.
Korak 9) Kliknite Start, Appium Poslužitelj sada radi na vašem sustavu.
Appium Testni slučaj za izvornog korisnika Android Aplikacija (Kalkulator)
Korak 1) Preuzmite ADT Eclipse dodatak ili preuzmite ADT paket zasebno od ovdje.
Korak 2) Otvoren Eclipse i stvorite novi Projekt > Paket > Klasa.
Korak 3) Uvezite Selenium knjižnica i TestNG u novi projekt.
Korak 4) Napravite mali testni program za Kalkulator.aplikacija koji zbraja dva broja.
package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;
public class Calculator {
WebDriver driver;
@BeforeClass
public void setUp() throws MalformedURLException {
// Set up desired capabilities and pass the Android app activity and package to Appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("BROWSER_NAME", "Android");
capabilities.setCapability("VERSION", "4.4.2");
capabilities.setCapability("deviceName", "Emulator");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
// Package name of the app (get it from an APK info app)
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
// Launcher activity of the app (get it from an APK info app)
// Create a RemoteWebDriver instance and connect to the Appium server
// Launches the Calculator app on the Android device using the capabilities above
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void testCal() throws Exception {
// Locate the keys on the calculator by name
WebElement two = driver.findElement(By.name("2"));
two.click();
WebElement plus = driver.findElement(By.name("+"));
plus.click();
WebElement four = driver.findElement(By.name("4"));
four.click();
WebElement equalTo = driver.findElement(By.name("="));
equalTo.click();
// Locate the calculator output by tag name
WebElement results = driver.findElement(By.tagName("EditText"));
// Check the calculated value on the edit box
assert results.getText().equals("6") :
"Actual value is : " + results.getText() + " did not match with expected value: 6";
}
@AfterClass
public void teardown() {
// Close the app
driver.quit();
}
}
Pokrenite Appium Poslužitelj i Android Emulator iz AVD Managera, a zatim kliknite Pokreni > TestNGProgram pokreće Calculator.app na odabranom emulatoru, a rezultat se prikazuje u Eclipse konzola pomoću TestNG okvir.
Ograničenja od Appium
- Appium ne podržava testiranje na Android verzije niže od 4.2.
- Ograničena podrška za testiranje hibridnih aplikacija - na primjer, nije moguće testirati prebacivanje između web prikaza i nativnog prikaza u bilo kojem smjeru.
- Nema podrške za trčanje Appium Inspektor na Microsoft Windows.
Uobičajene pogreške i koraci za rješavanje problema u Appium
| greška | Koraci za rješavanje problema |
|---|---|
| greška: Sljedeće željene mogućnosti su obavezne, ali nisu navedene: naziv_uređaja, naziv_platforme | Dodajte željene mogućnosti deviceName i platformName prema Appium skripta. Na primjer: capabilities.setCapability("deviceName", "Emulator"); i capabilities.setCapability("platformName", "Android"); |
| pogreška: nije moguće pronaći adb. Postavite varijablu okoline ANDROID_HOME s Android Putanja korijenskog direktorija SDK-a. | Postavite korijenski direktorij SDK-a u sistemskim varijablama okruženja pod unosom Put. |
| greška: org.openqa.selenium.SessionNotCreatedException: Nova sesija nije mogla biti kreirana. | Postavite ispravnu putanju aplikacije i ponovno pokrenite Appium poslužitelj. |
| Kako pronaći DOM element ili XPath u mobilnoj aplikaciji? | Koristite UIAutomator Viewer za pregled DOM elemenata Android aplikacija. |















