2013-07-25 7 views
15

Sto lavorando come SD in Test. Sono nuovo nello strumento di automazione di Appium, Questo strumento è molto difficile da configurare per me.Come configurare Appium Environment per l'automazione Android?

ho fatto riferimento seguente link :: http://unmesh.me/category/appium/

Questo link mi ha aiutato a installare Node.js e appium attraverso il comando line.But io non sono sicuro che questo modo giusto per farlo.

mi sono seguente messaggio da linea di comando:

mani-kandans-MacBook-Pro: platform-tools Manikandan $ info: Welcome to Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69) info: Appium REST interfaccia http ascoltatore iniziato su 0.0.0.0:4723 informazioni - socket.io avviato

Dopo questo non ho alcuna idea. Come scrivere e testarlo attraverso Appium?

Se il vostro interesse è condividere le vostre conoscenze sullo strumento Appium. Per favore guidami.

  1. Come installare Appium?
  2. Come eseguire testcase tramite lo strumento Appium?
+0

cosa vuoi scrivere i test in? rubino? Giava? Stai testando le app Web tramite Safari mobile e Chrome o stai testando le app native? –

+0

Per prima cosa, vorrei scusarmi per il replay in ritardo. Sto scrivendo casi di test in Python e Java, il nostro ambiente di installazione è stato completato. Ora ci troviamo di fronte ad altri bloccanti come il supporto di più dispositivi ed eseguiamo i casi di test in dispositivi 2.x. Potresti aiutarci questi bloccanti. Grazie. – Manidroid

+1

Puoi riferirti a questo mio blog: http://softwareqablogger.blogspot.in/2015/12/installation-and-setup-of-appium-tool.html Spero che questo aiuti. – user3002318

risposta

15

Prima parte: -. Sembra che tu abbia lanciato il server Appium usando il nodo server.js - Puoi controllare il server andando a localhost:4723/wd/hub/status nel tuo browser, questo restituirà alcuni dettagli del server. L'hai già fatto.

L'output del comando sarà simile a questa che conferma che si avvia il server:

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 

Parte seconda: -. Successivamente si utilizza il selenio RC per Python, Java o C# o qualunque sia la lingua scelta. Ho usato C# e posso fornire esempi che dovrebbero essere simili per i tuoi test.

Per aggiungere il selenio a una classe C#: using OpenQA.Selenium.Remote; Si passano tutti i dati a un oggetto di selenio desiderato. Alcune funzionalità desiderate personalizzati esistono come ad esempio:

  • 'app-pacchetto' questo è il nome del pacchetto dell'app come com.myapp.main,
  • 'app-attività', che è le applicazioni attività principale di essere chiamato che avvierà anche l'app. Questa è spesso un'attività splash o attività principale,
  • 'wait-activity' è l'attività che Appium controllerà una volta avviata, questa sarebbe l'attività dell'app ma per me è diversa se per alcuni test una nuova attività è lanciato di si chiama,
  • 'versione' di prendere la versione di Android,
  • 'ID del dispositivo' prendere il vostro dispositivo collegato o AVD a comandare e app che avrà un percorso locale per l'apk si desidera installare. Questo è firmato e installato all'avvio se esiste già un'app resettata che salterà questo per te.

    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"); 
    

Seguendo le funzionalità create creare un oggetto conducente Web remoto passando l'URL hub che hai utilizzato per esempio http://localhost:4723/wd/hub e le funzionalità desiderati che hai creato.

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

Questa riga utilizza l'ip o l'host del server Appium per iniziare ad ascoltare le richieste. Per me questo passaggio firma installa e avvia l'app sul dispositivo collegato speriamo che funzionerà lo stesso per te. Qui è dove i test di selenio che scrivi sono collegati al server Appium.

Ora utilizzando l'oggetto creato driver è possibile accedere ai comandi selenio rc di cui Appium ha implementato molte alternative per il test di Android. Durante ciascuna di queste la finestra della console del server Appium dovrebbe mostrare se ci sono problemi.

L'output sarà codificato per colore per facilitare l'identificazione dei guasti da questa finestra, ma è possibile gestirli a modo tuo e inviarli a un file se necessario.

Aggiornamento per più dispositivi Io sono sicuro su l'uso di più dispositivi, vorrei prendere in considerazione selenium grid miei precedenti tentativi di aggiungere 2 dispositivi ad una macchina e prova aveva la confusione in cui adb non era in grado di distinguere a prescindere dal dispositivo id Oltre alla configurazione e ai comandi. Il team Appium ha apportato miglioramenti per aggiungere funzionalità di rete al server, vi consiglio di dare un'occhiata a Appium Grid (collegamento aggiornato)

Mi scuso per la mia mancanza dell'esperienza con la rete per assistervi ulteriormente.

saluti, Brian

+0

Grazie mille per il vostro aiuto. Ho fatto l'installazione di Appium per Android secondo le tue istruzioni. Ora voglio eseguire più dispositivi utilizzando Appium. Mi aiuti per favore. – Manidroid

+0

Ho aggiornato il mio esempio con dettagli sull'estensione del supporto per più dispositivi, ma devo ancora lavorarci da solo, quindi la mia esperienza è solo teorica. Ho fornito collegamenti agli strumenti che potresti trovare per risolvere i tuoi piani di espansione. – BrianC

+0

@Manidroid si prega di inviare una domanda diversa per più dispositivi. – Gaurav

1

Ecco il mio file env.rb per 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

Sembra di essere in ritardo risposta, ma comunque credo che questo post può aiutare qualcuno, che sono alla ricerca di passo dopo passo da guida per installare Appium su piattaforma Windows

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

Questo Link si occupa principalmente con le seguenti sezioni

  1. JDK installazione
  2. Android SDK installazione p ath configurazione
  3. Appium installazione

    a) Utilizzando node.js

    b) Utilizzando Appium.exe

Problemi correlati