2013-07-25 17 views
15

Pracuję jako SD w teście. Jestem początkującym narzędziem Appium Automation, To narzędzie jest bardzo trudne do skonfigurowania dla mnie.Jak skonfigurować Appium Environment dla Android Automation?

odniosłem poniższy link :: http://unmesh.me/category/appium/

Ten link pomógł mi zainstalować node.js i appium poprzez komendy line.But nie jestem pewien, że to właściwa droga do zrobienia.

mam następujący komunikat z linii poleceń:

mani-kandans-MacBook-Pro: platform-tools Manikandan $ informację: Witamy Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69) info: Appium REST interfejs http słuchacz zaczął na 0.0.0.0:4723 info - socket.io rozpoczęty

Po tym nie mam pojęcia. Jak napisać testcase i uruchomić go przez Appium?

Jeśli chcesz podzielić się swoją wiedzą na temat narzędzia Appium. Proszę, prowadź mnie.

  1. Jak zainstalować Appium?
  2. Jak uruchomić testcase za pomocą narzędzia Appium?
+0

co chcesz napisać testów? rubin? Jawa? Czy testujesz aplikacje internetowe za pomocą mobilnego safari i Chrome, czy testujesz natywne aplikacje? –

+0

Po pierwsze, przepraszam za późniejsze powtórki. Piszę przypadki testowe w Pythonie i Javie, nasze środowisko konfiguracyjne zostało zakończone. Teraz mamy do czynienia z innym blokerem podobnym do obsługi wielu urządzeń i uruchamiamy przypadki testowe na urządzeniach 2.x. Czy możesz nam pomóc w tych blokujących? Dzięki. – Manidroid

+1

Możesz polecić ten mój blog: http://softwareqablogger.blogspot.in/2015/12/installation-and-setup-of-appium-tool.html Mam nadzieję, że to pomoże. – user3002318

Odpowiedz

15

Część pierwsza: -. Wygląda na to, że uruchomiłeś serwer appium przy użyciu węzła server.js - Możesz sprawdzić serwer przechodząc do localhost:4723/wd/hub/status w przeglądarce, co spowoduje zwrócenie kilku szczegółów na temat serwera. Już to zrobiłeś.

Wyjście polecenie będzie wyglądać następująco potwierdzający, że serwer jest uruchomiony:

info: Welcome to Appium v0.8.1 (REV ***********************************) 
info: Appium REST http interface listener started on 0.0.0.0:4723 
     info - socket.io started 

Część druga: -. Następnie używasz selenu RC dla Pythona, Javy lub C#, czy jakikolwiek jest twój wybór języka. Użyłem C# i mogę podać przykłady, które powinny być podobne do twoich testów.

Aby dodać selen do klasy C#: using OpenQA.Selenium.Remote; Przekazujesz wszystkie swoje dane do pożądanego obiektu selenowego. niektórych niestandardowych pożądane możliwości istnieją takie jak:

  • „aplikacja-pakiet” jest nazwą pakietu aplikacji takich jak com.myapp.main,
  • „aplikacja aktywnością”, która jest apps Główne działanie się o nazwie, która uruchomi także aplikację. Często jest to aktywność typu "splash" lub główna aktywność, "wait-activity" jest działaniem, które Appium sprawdzi po uruchomieniu, będzie to działanie aplikacji, ale dla mnie jest inaczej, jeśli dla niektórych testów nowa aktywność jest rozpoczęła niż nazywa,
  • „wersja” biorąc wersji androida,
  • „ID urządzenia” biorąc podłączone urządzenie lub AVD dowodzić i aplikacji, które będzie miało ścieżkę lokalną do apk chcesz zainstalować. To jest podpisane i zainstalowane na starcie, jeśli zrezygnowana aplikacja już istnieje, pominie to dla ciebie.

    DesiredCapabilities caps = new DesiredCapabilities(); 
        caps.SetCapability("app-package", "com.myapp.test"); 
        caps.SetCapability("browserName", ""); 
        caps.SetCapability("device", "Android"); 
        caps.SetCapability("app-activity", "com.myapp.SplashActivity"); 
        caps.SetCapability("takesScreenshot", true); 
        caps.SetCapability("version", "4.1.2"); 
        caps.SetCapability("device ID", "uniquedeviceid"); 
        caps.SetCapability("app", @"C:\path to\app\on\pc\app.apk"); 
    

obserwuję możliwości tworzonych utworzenia obiektu zdalnego sterownika internetowej przechodzącą url piasty, które zostały wykorzystane np http://localhost:4723/wd/hub i utworzone Pożądany możliwości.

RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps); 

Ta linia używa adresu IP lub hosta serwera Appium, aby rozpocząć odsłuchiwanie żądań. Dla mnie ten krok podpisuje instaluje i uruchamia aplikację na podłączonym urządzeniu, mam nadzieję, że to zadziała dla ciebie tak samo. W tym miejscu testy selenu, które piszesz, są połączone z serwerem Appium.

Teraz za pomocą utworzonego obiektu driver można uzyskać dostęp do komend selenowych rc, z których Appium wdrożyło wiele alternatyw do testowania Androida. Podczas każdego z nich twoje okno konsoli serwera Appium powinno pokazywać, czy występują jakieś problemy.

Dane wyjściowe będą oznaczone kolorami, aby ułatwić identyfikację awarii z tego okna, ale w razie potrzeby można obsłużyć te własne metody i dane wyjściowe do pliku.

Aktualizacja dla wielu urządzeń jestem pewien na wykorzystaniu wielu urządzeń, uznałbym selenium grid moje wcześniejsze próby Dodać 2 urządzeń do jednego komputera i testy mieli zamieszanie gdzie adb był w stanie odróżnić niezależnie od identyfikatora urządzenia dodatek do konfiguracji i poleceń. Zespół Appium wprowadzał ulepszenia, aby dodać funkcjonalność sieci do serwera, polecam zajrzeć do: Appium Grid (link updated)

Przepraszam za brak doświadczenia w zakresie sieci, aby pomóc Ci dalej.

Pozdrawiam, Brian

+0

Dziękuję bardzo za pomoc. Skończyłem konfigurację Appium dla Androida zgodnie z twoją instrukcją. Teraz chcę uruchomić wiele urządzeń za pomocą appium. Proszę pomóż mi. – Manidroid

+0

Mam zaktualizowany mój przykład ze szczegółami na temat rozszerzenia obsługi wielu urządzeń, ale muszę jeszcze pracować nad tym samodzielnie, więc moje doświadczenie jest tylko teoretyczne. Udostępniłem linki do narzędzi, które możesz znaleźć rozwiąże Twoje plany ekspansji. – BrianC

+0

@Manidroid, proszę zamieścić inne pytanie dla wielu urządzeń. – Gaurav

1

Oto mój plik env.rb dla appium android.

require 'rubygems' 
require 'appium_lib' 

# Start Android driver 
apk = { 
    device: :android, 
    app_path: (true && ENV['apk']) || 'path to apk', 
    app_package: (true && ENV['package']) || 'com.foo.cam', 
    app_activity: (true && ENV['activity']) || '.SplashActivity', 
    app_wait_activity: (true && ENV['activity']) || '.MainActivity', 
} 
Appium::Driver.new(apk).start_driver 

Appium.promote_appium_methods Object 

log = Logger.new(STDOUT) 

case ENV['log'] 
    when 'WARN' 
    log.level = Logger::WARN 
    when 'DEBUG' 
    log.level = Logger::DEBUG 
    when 'INFO' 
    log.level = Logger::INFO 
    when 'ERROR' 
    log.level = Logger::ERROR 
    when 'FATAL' 
    log.level = Logger::FATAL 
    when 'UNKNOWN' 
    log.level = Logger::UNKNOWN 
    else 
    log.level = Logger::DEBUG 
end 

log.debug('starting suite') 

Before do 
    @test_env = { 
     device: driver, 
     main_activity: (true && ENV['main_activity']) || 'grid.GridLoginActivity', 
     logger: log 
    } 
end 

# Optional--clears alerts 
After ('@rate_limit') do |scenario| 
    log = @test_env[:logger] 
    device = @test_env[:device] 

    if scenario.failed? 
    begin 
     wait = Selenium::WebDriver::Wait.new :timeout => 1 
     wait.until { device.alert_accept } 
     log.debug('cleared rate limit dialog') 
    rescue 
     log.error("dialog didn't pop.") 
    end 
    end 

    log.debug('rate_limit finished') 
end 

After ('@network_connection') do |scenario| 
    log = @test_env[:logger] 
    device = @test_env[:device] 

    if scenario.failed? 
    begin 
     wait = Selenium::WebDriver::Wait.new :timeout => 1 
     wait.until { device.alert_accept } 
     log.debug('cleared network connection issue') 
    rescue 
     log.error("dialog didn't pop.") 
    end 
    end 

    log.debug('network_connection finished') 
end 
3

Wydaje się, że opóźnienie w odpowiedzi, ale nadal myślę, że to stanowisko może pomóc kogoś, kto szuka krok po kroku przez przewodnika zainstalować Appium na platformie Windows

http://qaautomationworld.blogspot.in/2014/12/appium-setup-for-android-windows.html

ten Link zajmuje się przede wszystkim z następujących sekcjach

  1. JDK instalacji
  2. Android SDK Instalacja p ATH setup
  3. Appium Instalacja

    a) Korzystanie node.js

    b) korzysta Appium.exe

Powiązane problemy