Je travaille en tant que SD dans Test. Je suis nouveau dans l'outil Appium Automation, cet outil est très difficile à configurer pour moi.
J'ai fait référence au lien suivant :: http://unmesh.me/category/appium/
Ce lien m'a aidé à installer Node.js et appium via la ligne de commande, mais je ne suis pas sûr de la bonne façon de le faire.
J'ai reçu le message suivant depuis la ligne de commande:
mani-kandans-MacBook-Pro: plateforme-outils manikandan $ info: Bienvenue dans Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69) info: Appium REST écouteur d'interface http démarré le 0.0.0.0:4723 info - socket.io a commencé
Après cela, je n'ai aucune idée. Comment écrire un testcase et l'exécuter via Appium?
Si vous souhaitez partager vos connaissances sur l'outil Appium. Guidez-moi s'il-vous-plaît.
Partie un:-. Vous semblez avoir lancé le serveur appium en utilisant le nœud server.js - Vous pouvez vérifier le serveur en allant sur localhost:4723/wd/hub/status
dans votre navigateur cela renverra quelques détails du serveur. Vous l'avez déjà fait.
La sortie de la commande ressemblera à ceci confirmant que le serveur est démarré:
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
Deuxième partie:-. Ensuite, vous utilisez le Selenium RC pour Python, Java ou c # ou quel que soit votre choix de langue. J'ai utilisé c # et je peux fournir des exemples qui devraient être similaires pour vos tests.
Pour ajouter le sélénium à une classe c #: using OpenQA.Selenium.Remote;
Vous transmettez toutes vos données à un objet de capacités souhaité par Selenium. Certaines capacités souhaitées personnalisées existent telles que:
'ID de l'appareil' prenant votre appareil connecté ou AVD à la commande et à l'application qui aura un chemin local vers l'apk que vous souhaitez installer. Ceci est signé et installé au démarrage si une application démissionnaire existe déjà, elle l'ignorera pour vous.
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");
Suite aux capacités que vous créez, créez un objet pilote Web distant en passant l'URL du concentrateur que vous avez utilisée, par exemple http://localhost:4723/wd/hub
et les capacités souhaitées que vous avez créées.
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);
Cette ligne utilise l'ip ou l'hôte du serveur Appium pour commencer à écouter les demandes. Pour moi, cette étape signe installe et lance l'application sur l'appareil connecté, espérons que cela fonctionnera pour vous de la même manière. C'est là que les tests Selenium que vous écrivez sont connectés au serveur Appium.
Maintenant, en utilisant l'objet driver
créé, vous pouvez accéder aux commandes Selenium rc dont Appium a implémenté de nombreuses alternatives pour les tests Android. Pendant chacune de ces fenêtres de votre console de serveur Appium devrait vous montrer s'il y a des problèmes.
La sortie sera codée par couleur pour aider à identifier les échecs à partir de cette fenêtre, mais vous pouvez les gérer à votre guise et les exporter dans un fichier si nécessaire.
Mise à jour pour plusieurs appareils Je ne suis pas sûr de l'utilisation de plusieurs appareils, je considérerais grille de sélénium mes tentatives précédentes pour ajouter 2 périphériques à une seule machine et le test était confus où adb était incapable de distinguer indépendamment de l'ajout de l'ID de périphérique à la configuration et aux commandes. L'équipe Appium a apporté des améliorations pour ajouter des fonctionnalités de grille au serveur, je vous recommande de jeter un œil à Appium Grid (lien mis à jour)
Je m'excuse de mon manque d'expérience avec la grille pour vous aider davantage.
Cordialement, Brian
Il semble être une réponse tardive, mais je suppose que ce message peut aider quelqu'un, qui cherche étape par étape un guide pour installer Appium sur la plate-forme Windows
http://qaautomationworld.blogspot.in/2014/12/appium-setup-for-Android-windows.html
Ce lien traite principalement des sections suivantes
Installation d'Appium
a) Utilisation de node.js
b) Utilisation d'Appium.exe
Voici mon fichier env.rb pour 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
Pour installer Appium tout d'abord tous les outils de téléchargement requis:
1) Android Studio
2) Fichiers Jar Appium pour Java
3) Java Plugin Selenium Client
4) Serveur Appium
5) Java SDK
Après avoir téléchargé tous ces outils, suivez la procédure étape par étape mentionnée dans ce blog ==> Processus d'installation d'Appium dans Android Studio