How to use retry method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

messages.js

Source:messages.js Github

copy

Full Screen

1/**2 * # messages3 *4 * Copyright (c)2014, by Olivier Evalet <evaleto@gmail.com>5 * Copyright (c)2011, by Branko Vukelic <branko@herdhound.com>6 * Licensed under GPL license (see LICENSE)7 */8var msg = exports;9msg.shouldRetry=function(code){10  return msg.error[code].retry11}12msg.getDescription=function(code,_default){13  return msg.error[code].msg||_default14}15msg.getStatus=function(code){16  return msg.status[code]17}18/**19 * #messages.status20 * Postfinance status codes21 */22msg.status = {23  0 :"Incomplet ou invalide",24  1 :"Annulé par client",25  2 :"Autorisation refusée",26  4 :"Commande encodée",27  40:"",28  41:"Attente paiement par client",29  5 :"Autorisé",30  50:"",31  51:"Autorisation en attente",32  52:"Autorisation incertaine",33  55:"En suspens",34  56:"OK avec paiements planifiés",35  57:"Erreur dans les paiements planifiés",36  59:"Autor. à obtenir manuellement",37  6 :"Autorisé et annulé",38  61:"Annul. d'autor. en attente",39  62:"Annul. d'autor. incertaine",40  63:"Annul. d'autor. refusée",41  64:"Autorisé et annulé",42  7 :"Paiement annulé",43  71:"Annulation paiement en attente",44  72:"Annul paiement incertaine",45  73:"Annul paiement refusée",46  74:"Paiement annulé",47  75:"Annulation traitée par le marchand",48  8 :"Remboursement",49  81:"Remboursement en attente",50  82:"Remboursement incertain",51  83:"Remboursement refusé",52  84:"Remboursement",53  85:"Rembours. traité par le marchand",54  9 :"Paiement demandé",55  91:"Paiement en cours",56  92:"Paiement incertain",57  93:"Paiement refusé",58  94:"Remb. Refusé par l'acquéreur",59  95:"Paiement traité par le marchand",60  96:"",61  99:"En cours de traitement",62};63/**64 * #messages.error65 * Postfinance error codes66 */67msg.error={68  20001001:{retry:true,msg:"Autorisation refusée, merci de réessayer"},69  20001002:{retry:true,msg:"Authorization failed, please retry"},70  20001003:{retry:true,msg:"Authorization failed, please retry"},71  20001004:{retry:true,msg:"Authorization failed, please retry"},72  20001005:{retry:true,msg:"Authorization failed, please retry"},73  20001006:{retry:true,msg:"Authorization failed, please retry"},74  20001007:{retry:true,msg:"Authorization failed, please retry"},75  20001008:{retry:true,msg:"Authorization failed, please retry"},76  20001009:{retry:true,msg:"Authorization failed, please retry"},77  20001010:{retry:true,msg:"Authorization failed, please retry"},78  30001999:{retry:false,msg:"Notre système est en cours de maintenance, veuillez réessayer ultérieurement."},79  50001005:{retry:false,msg:"Erreur dans la date d'expiration"},80  50001007:{retry:false,msg:"Le code d'opération requis n'est pas autorisé"},81  50001008:{retry:false,msg:"La valeur delay est invalide"},82  50001010:{retry:false,msg:"Le format de la date d'entrée est invalide"},83  50001013:{retry:false,msg:"Impossible de détailler la trame d'entrée du socket"},84  50001014:{retry:false,msg:"Erreur dans l'analyse du contenu de la trame d'entrée"},85  50001015:{retry:false,msg:"Currency error"},86  50001016:{retry:false,msg:"Transaction toujours en statut posted à la fin du Wait"},87  50001017:{retry:false,msg:"La valeur Sync est incompatible avec la valeur delay"},88  50001019:{retry:false,msg:"La transaction est un duplicata d'une transaction existante"},89  50001020:{retry:false,msg:"Le code d'acceptation est vide alors qu'il est requis pour la transaction"},90  50001024:{retry:false,msg:"L'acquéreur de la maintenance diffère de l'acquéreur de la transaction originale"},91  50001025:{retry:false,msg:"Le marchand de la maintenance diffère du marchand de la transaction originale"},92  50001028:{retry:false,msg:"L'opération de maintenance est inadéquat pour la transaction originale"},93  50001031:{retry:false,msg:"L'application hôte est inconnue pour la transaction"},94  50001032:{retry:false,msg:"Impossible d'exécuter l'opération requise avec la devise requise"},95  50001033:{retry:false,msg:"Le n° de carte de la maintenance diffère de celui de la transaction originale"},96  50001034:{retry:false,msg:"Le code d'operation n'est pas autorisé"},97  50001035:{retry:false,msg:"Une exception s'est produite dans le traitement de la trame d'entrée du socket"},98  50001036:{retry:false,msg:"La taille du numéro de carte ne correspond pas à une valuer plausible pour le type de carte"},99  50001036:{retry:false,msg:"La taille du numéro de carte ne correspond pas à une valuer plausible pour le type de carte"},100  50001068:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},101  50001069:{retry:false,msg:"Vérification invalide pour le numéro et le type de carte soumis"},102  50001070:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},103  50001116:{retry:false,msg:"Unknown Origin IP"},104  50001117:{retry:false,msg:"No origin IP detected"},105  50001118:{retry:false,msg:"Merchant configuration problem, please contact support"},106  10001001:{retry:false,msg:"Communication failure"},107  10001002:{retry:false,msg:"Communication failure"},108  10001003:{retry:false,msg:"Communication failure"},109  10001004:{retry:false,msg:"Communication failure"},110  10001005:{retry:false,msg:"Communication failure"},111  10001016:{retry:false,msg:"Attente de la réaction de l'acquéreur"},112  10001018:{retry:false,msg:"Transaction 3XCB en attente de statut final"},113  10001101:{retry:false,msg:"Veuillez vous connecter en mode sécurisé (https)"},114  20001001:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},115  20001002:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},116  20001003:{retry:false,msg:"Nous avons reçu pour cette transaction un état inconnu. Nous allons prendre contact avec votre acquéreur afin de mettre à jour cet état. Merci de vérifier l'état de la transaction ultérieurement."},117  20001004:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},118  20001005:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},119  20001006:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},120  20001007:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},121  20001008:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},122  20001009:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},123  20001010:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},124  20001101:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},125  20001104:{retry:false,msg:"Nous avons reçu pour cette transaction un état inconnu. Nous allons prendre contact avec votre acquéreur afin de mettre à jour cet état. Merci de vérifier l'état de la transaction ultérieurement."},126  20001105:{retry:false,msg:"Nous avons reçu un statut incertain pour cette transaction. Nous contacterons votre acquéreur et mettrons à jour le statut au plus tard dans un jour ouvrable. Veuillez vérifier le statut plus tard."},127  20001111:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},128  20001998:{retry:false,msg:"Nous avons reçu pour cette transaction un état inconnu. Nous allons prendre contact avec votre acquéreur afin de mettre à jour cet état. Merci de vérifier l'état de la transaction ultérieurement."},129  20002001:{retry:false,msg:"L'origine de la réponse de l'institution bancaire n'a pas pu être vérifiée"},130  20002002:{retry:false,msg:"Le numéro de compte bénéficiaire a été modifié pendant le traitement"},131  20002003:{retry:false,msg:"Le montant a été modifié pendant le traitement"},132  20002004:{retry:false,msg:"La devise a été modifié pendant le traitement"},133  20002005:{retry:false,msg:"Aucune réponse du serveur de la banque n'a été détectée"},134  30001001:{retry:false,msg:"Paiement refusé par l'institution financière"},135  30001002:{retry:false,msg:"Demande dupliquée"},136  30001010:{retry:true,msg:"Un problème technique est survenu, contactez le service d'aide"},137  30001011:{retry:true,msg:"Un problème technique est survenu, contactez le service d'aide"},138  30001012:{retry:false,msg:"Carte sur liste noire - Contacter l'acquéreur"},139  30001015:{retry:true,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},140  30001016:{retry:false,msg:"Échec de la communication et/ou erreur de base de données. La transaction n'a pas pu être initialisée correctement au cours du processus d'envoi (échec de l'accès à la BD, etc.)"},141  30001051:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},142  30001054:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},143  30001056:{retry:false,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},144  30001057:{retry:true,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},145  30001058:{retry:true,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},146  30001060:{retry:false,msg:"L'acquéreur signale une défaillance pendant le traitement du paiement."},147  30001070:{retry:false,msg:"RATEPAY Type de réponse invalide (échec)"},148  30001071:{retry:false,msg:"RATEPAY Champ de code de statut obligatoire manquant (échec)"},149  30001072:{retry:false,msg:"RATEPAY Champ de code de résultat obligatoire manquant (échec)"},150  30001073:{retry:false,msg:"RATEPAY Echec de l analyse de la réponse"},151  30001090:{retry:false,msg:"Contrôle du CVC requis par le Front-end, et retourné comme invalide par l'acquéreur"},152  30001091:{retry:false,msg:"Contrôle du code postal requis par le Front-end, et retourné comme invalide par l'acquéreur"},153  30001092:{retry:false,msg:"Contrôle de l'adresse requis par le Front-end, et retourné comme invalide par l'acquéreur"},154  30001095:{retry:false,msg:"La vérification CVC a échoué après le traitement de la transaction"},155  30001096:{retry:false,msg:"La vérification AAV a échoué après le traitement de la transaction"},156  30001100:{retry:false,msg:"Pays de l'acheteur non autorisé"},157  30001101:{retry:false,msg:"Pays IP <> pays carte"},158  30001102:{retry:false,msg:"Nombre de pays différents trop élevé"},159  30001103:{retry:false,msg:"Le pays de la carte n'est pas autorisé."},160  30001104:{retry:false,msg:"Pays de l'adresse IP non autorisé"},161  30001105:{retry:false,msg:"Proxy anonyme"},162  30001110:{retry:false,msg:"Si le problème se reproduit, veuillez vous rendre sur le site de paysafecard (https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet?language=fr) afin de vérifier quand le montant réservé sur votre carte sera à nouveau disponible."},163  30001120:{retry:false,msg:"Adresse IP dans la blacklist du marchand"},164  30001130:{retry:false,msg:"BIN dans la blacklist du marchand"},165  30001131:{retry:false,msg:"Code BIN erroné pour 3xCB"},166  30001140:{retry:false,msg:"Numéro de carte dans blacklist du marchand"},167  30001141:{retry:false,msg:"Email dans la black-list"},168  30001142:{retry:false,msg:"Nom du passager dans la black-list"},169  30001143:{retry:false,msg:"Nom du porteur de carte dans black-list"},170  30001144:{retry:false,msg:"passager différent du porteur de carte"},171  30001145:{retry:false,msg:"Date de départ trop proche"},172  30001149:{retry:false,msg:"Carte configurée dans un Contrôle de Limite pour une autre relation (CSL)"},173  30001150:{retry:false,msg:"Carte non configurée dans le système pour ce client (CSL)"},174  30001151:{retry:false,msg:"REF1 non utilisable pour cette relation (numéro de marché)"},175  30001152:{retry:false,msg:"Montant limite de la carte/fournisseur atteinte (CSL)"},176  30001153:{retry:false,msg:"Carte non utilisable pour ce fournisseur (Date en dehors des limites du contrat)"},177  30001154:{retry:false,msg:"Vous avez atteint le nombre d'utilisations autorisées"},178  30001155:{retry:false,msg:"Vous avez atteint le nombre d'utilisations autorisées"},179  30001156:{retry:false,msg:"Vous avez atteint le nombre d'utilisations autorisées"},180  30001157:{retry:false,msg:"Adresse IP non autorisée pour l'itinéraire"},181  30001158:{retry:false,msg:"Limite d'utilisation de l'adresse email atteinte"},182  30001159:{retry:false,msg:"Combinaison pays carte/pays IP non autorisé"},183  30001160:{retry:false,msg:"Code postal dans le groupe à risque"},184  30001161:{retry:false,msg:"Données dans la liste noire générique"},185  30001162:{retry:false,msg:"L'adresse de facturation est une boîte postale."},186  30001163:{retry:false,msg:"Aéroport dans le groupe à risque élevé"},187  30001164:{retry:false,msg:"Mode d'expédition dans le groupe à risque élevé"},188  30001165:{retry:false,msg:"Détails du mode d'expédition dans le groupe à risque élevé"},189  30001166:{retry:false,msg:"Catégorie de produit dans le groupe à risque élevé"},190  30001167:{retry:false,msg:"Sous-marque dans le groupe à risque élevé"},191  30001168:{retry:false,msg:"Numéro d'émetteur dans le groupe à risque élevé"},192  30001169:{retry:false,msg:"Délai de livraison trop court"},193  30001180:{retry:false,msg:"Scoring maximum atteint"},194  30001201:{retry:false,msg:"{0} n'existe pas."},195  30001202:{retry:false,msg:"Aucune donnée n'a été trouvée."},196  30001203:{retry:false,msg:"{0} n'est pas mis à jour."},197  30001204:{retry:false,msg:"Certaines données sont incorrectes. Veuillez réessayer."},198  30001205:{retry:false,msg:"Votre abonnement a été résilié. Contactez nous."},199  30001206:{retry:false,msg:"Le nombre maximal d'utilisateurs a été atteint. Veuillez nous contacter pour un upgrade de votre abonnement."},200  30001207:{retry:false,msg:"Cet identifiant d'uilisateur existe déjà. Veuillez en choisir un autre."},201  30001997:{retry:false,msg:"Autorisation annulée par simulation"},202  30001998:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},203  30001999:{retry:true,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},204  30002001:{retry:false,msg:"Paiement refusé par l'organisme financier"},205  30002001:{retry:false,msg:"Paiement refusé par l'organisme financier"},206  30021001:{retry:false,msg:"Appeler le numéro de téléphone du service d'aide de l'acquéreur"},207  30022001:{retry:false,msg:"Le paiement doit être approuvé par l'acquéreur avant l'exécution."},208  30031001:{retry:false,msg:"Numéro de marchand invalide."},209  30041001:{retry:false,msg:"Saisir la carte"},210  30051001:{retry:false,msg:"Autorisation refusée"},211  30051002:{retry:false,msg:"Voor vragen over uw afwijzing kunt u contact opnemen met de Klantenservice van AfterPay."},212  30051009:{retry:false,msg:"Il est possible que vous n'ayiez pas saisi (correctement) toutes les informations obligatoires au cours de processus de commande."},213  30051010:{retry:false,msg:"parce que vous êtes âgé de moins de 18 ans. Pour plus d'information, visitez le site web de AfterPay."},214  30051011:{retry:false,msg:"parce que votre adresse ne peut pas être validée. Pour plus d'informations, visitez le site web de AfterPay."},215  30051012:{retry:false,msg:"parce que votre adresse e-mail n'est pas valide. Pour plus d'informations, visitez le site web de AfterPay."},216  30051013:{retry:false,msg:"parce que le montant de la transaction dépasse la limite accordée aux nouveaux utilisateurs de AfterPay. Pour plus d'informations, visitez le site web de AfterPay."},217  30051014:{retry:false,msg:"parce qu'il y a actuellement trop de paiements en suspens chez AfterPay. Pour plus d'informations, visitez le site web de AfterPay."},218  30051015:{retry:false,msg:"parce que votre numéro de chambre de commerce n'a pas pu être validé. Pour plus d'informations, visitez le site web de AfterPay."},219  30051016:{retry:false,msg:"parce que le montant de la commande est trop faible. Pour plus d'informations, visitez le site web de AfterPay."},220  30051017:{retry:false,msg:". Pour plus d'informations, visitez le site web de AfterPay."},221  30071001:{retry:false,msg:"Retenir la carte - conditions spéciales."},222  30121001:{retry:false,msg:"Transaction invalide"},223  30131001:{retry:false,msg:"Montant invalide"},224  30131002:{retry:false,msg:"Vous avez atteint le montant maximum autorisé"},225  30141001:{retry:false,msg:"Numéro de carte invalide"},226  30151001:{retry:false,msg:"Acquéreur inconnu"},227  30171001:{retry:false,msg:"Méthode de paiement annulée par l'acheteur."},228  30171002:{retry:false,msg:"Le délai maximum est dépassé."},229  30191001:{retry:false,msg:"Réessayez plus tard."},230  30201001:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},231  30301001:{retry:false,msg:"Format invalide"},232  30311001:{retry:false,msg:"ID acquéreur inconnu."},233  30331001:{retry:false,msg:"Carte expirée."},234  30341001:{retry:false,msg:"Soupçon de fraude."},235  30341001:{retry:false,msg:"Soupçon de fraude."},236  30341002:{retry:false,msg:"Soupçon de fraude (3rdMan)"},237  30341003:{retry:false,msg:"Soupçon de fraude (Perseuss)"},238  30341004:{retry:false,msg:"Soupçon de fraude (ETHOCA)"},239  30341005:{retry:false,msg:"Soupçon de fraude (Expert)"},240  30381001:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},241  30401001:{retry:false,msg:"function invalide"},242  30411001:{retry:false,msg:"Carte perdue"},243  30431001:{retry:false,msg:"Carte volée, raccrochez"},244  30511001:{retry:false,msg:"Crédit insuffisant."},245  30521001:{retry:false,msg:"Autorisation refusée. Contactez votre fournisseur de carte."},246  30541001:{retry:false,msg:"Carte expirée"},247  30551001:{retry:false,msg:"PIN invalide"},248  30561001:{retry:false,msg:"Carte absente de la base de données autorisée"},249  30571001:{retry:false,msg:"Transaction par carte non autorisée."},250  30581001:{retry:false,msg:"Transaction interdite au terminal"},251  30591001:{retry:false,msg:"Soupçon de fraude."},252  30601001:{retry:false,msg:"Le commerçant doit contacter l'acquéreur."},253  30611001:{retry:true,msg:"Limite montant dépassée"},254  30621001:{retry:false,msg:"Carte restreinte."},255  30631001:{retry:false,msg:"Règles de sécurité non respectées."},256  30641001:{retry:false,msg:"Montant changé par rapport à la trans. réf."},257  30681001:{retry:false,msg:"Réponse tardive."},258  30751001:{retry:false,msg:"Code PIN trop fréquemment erroné"},259  30761001:{retry:false,msg:"Le titulaire de la carte répond déjà."},260  30771001:{retry:false,msg:"PIN incorrect"},261  30811001:{retry:false,msg:"Erreur dans le flux de messages."},262  30821001:{retry:false,msg:"Centre d'autorisations indisponible"},263  30831001:{retry:false,msg:"Centre d'autorisations indisponible"},264  30901001:{retry:false,msg:"Système temporairement éteint."},265  30911001:{retry:false,msg:"Acquéreur indisponible."},266  30921001:{retry:false,msg:"Type de carte invalide pour l'acquéreur"},267  30941001:{retry:false,msg:"Duplicata"},268  30961001:{retry:true,msg:"Traitement temporairement indisponible"},269  30971001:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},270  30981001:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},271  31011001:{retry:false,msg:"Code d'acceptation inconnu"},272  31021001:{retry:false,msg:"Code Devise invalide"},273  31031001:{retry:false,msg:"Code d'acceptation manquant"},274  31041001:{retry:false,msg:"Carte inactive"},275  31051001:{retry:false,msg:"Commerçant inactif"},276  31061001:{retry:false,msg:"Date d'expiration invalide"},277  31071001:{retry:false,msg:"Communication interrompue avec l'hôte"},278  31081001:{retry:false,msg:"Carte refusée"},279  31091001:{retry:false,msg:"Mode passe non valide"},280  31101001:{retry:false,msg:"Plafond transaction (majoré du bonus) dépassé"},281  31111001:{retry:false,msg:"Plafond mensuel (majoré du bonus) dépassé"},282  31121001:{retry:false,msg:"Plafond centre de facturation dépassé"},283  31131001:{retry:false,msg:"Plafond entreprise dépassé"},284  31141001:{retry:false,msg:"Code MCC du fournisseur non autorisé pour la carte"},285  31151001:{retry:false,msg:"Numéro SIRET du fournisseur non autorisé pour la carte"},286  31161001:{retry:false,msg:"Ce compte n'est pas valide pour les transaction en ligne"},287  32001004:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},288  32001105:{retry:false,msg:"Un problème technique s'est produit. Veuillez contacter le centre d'assistance."},289  34011001:{retry:false,msg:"Bezahlung mit RatePAY nicht möglich."},290  39991001:{retry:false,msg:"Un problème technique est survenu, veuillez contactez le service client de votre acquéreur"},291  40001001:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},292  40001002:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},293  40001003:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},294  40001004:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},295  40001005:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},296  40001006:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},297  40001007:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},298  40001008:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},299  40001009:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},300  40001010:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},301  40001011:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},302  40001012:{retry:true,msg:"L'acquéreur de votre marchand est temporairement indisponible, veuillez essayer plus tard, ou choisissez une autre méthode de paiement."},303  40001013:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},304  40001016:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},305  40001018:{retry:true,msg:"Un problème technique empêche votre ordre d'être traité, veuillez ré-essayer SVP."},306  40001019:{retry:true,msg:"Désolé, une erreur s'est produite pendant le traitement. Veuillez ré-essayer SVP (utilisez le bouton 'back' de votre browser). Si le problème persiste, contactez le helpdesk de votre marchand."},307  40001020:{retry:true,msg:"Désolé, une erreur s'est produite pendant le traitement. Veuillez ré-essayer SVP (utilisez le bouton 'back' de votre browser). Si le problème persiste, contactez le helpdesk de votre marchand."},308  40001050:{retry:false,msg:"Un problème technique est survenu, contactez le service d'aide"},309  40001133:{retry:false,msg:"Échec de l'authentification, la signature de votre serveur de contrôle d'accès à la banque est incorrect"},310  40001134:{retry:true,msg:"Erreur d'authentification, veuillez ré-essayer ou annuler"},311  40001135:{retry:true,msg:"Système d'authentification temporairement indisponible, veuillez ré-essayer ou annuler"},312  40001136:{retry:true,msg:"Erreur technique de votre navigateur web, veuillez ré-essayer ou annuler"},313  40001137:{retry:true,msg:"Le système de contrôle d'accès de votre banque est temporairement indisponible, veuillez ré-essayer ou annuler"},314  40001202:{retry:false,msg:"Cette action n'est pas autorisée pour votre profil."},315  40001203:{retry:false,msg:"L'utilisateur n'est pas authentifié"},316  40001204:{retry:false,msg:""},317  40001205:{retry:false,msg:""},318  40001210:{retry:false,msg:"Votre mot de passe doit contenir au moins une lettre (a-z) et au moins un numéro (0-9) ou un symbole (&,@,#,!, …)"},319  40001211:{retry:false,msg:""},320  40001212:{retry:false,msg:""},321  40001213:{retry:false,msg:""},322  40001998:{retry:false,msg:"Problème technique temporaire, réessayez plus tard."},323  50001001:{retry:false,msg:"Type de carte inconnue"},324  50001002:{retry:false,msg:"La vérification du numéro de carte a échoué pour le numéro de carte donné"},325  50001003:{retry:false,msg:"Marchand mal défini"},326  50001004:{retry:false,msg:"Marchand inexistant"},327  50001005:{retry:false,msg:"Erreur dans la date d'expiration"},328  50001006:{retry:false,msg:"Montant non numérique"},329  50001007:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},330  50001008:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},331  50001009:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},332  50001010:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},333  50001011:{retry:false,msg:"Type de carte non opérationnel pour le marchand"},334  50001012:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},335  50001013:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},336  50001014:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},337  50001015:{retry:false,msg:"Devise invalide"},338  50001016:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},339  50001017:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},340  50001018:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},341  50001019:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},342  50001020:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},343  50001021:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},344  50001022:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},345  50001023:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},346  50001024:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},347  50001025:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},348  50001026:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},349  50001027:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},350  50001028:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},351  50001029:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},352  50001030:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},353  50001031:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},354  50001032:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},355  50001033:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},356  50001034:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},357  50001035:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},358  50001036:{retry:false,msg:"La longeur du numéro de carte ne correspond pas au type de carte"},359  50001037:{retry:false,msg:"Carte Purchasing pour un marchand normal"},360  50001038:{retry:false,msg:"Pas une carte Purchasing pour un marchand Purchasing card"},361  50001039:{retry:false,msg:"Detail envoyé pour un marchand non-Purchasing card, veuillez contacter le helpdesk"},362  50001040:{retry:false,msg:"Detail non-envoyé pour une transaction Purchasing card"},363  50001041:{retry:false,msg:"Payment detail validation failed"},364  50001042:{retry:false,msg:"Given transactions amounts (tax,discount,shipping,net,etc…) do not compute correctly together"},365  50001043:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},366  50001044:{retry:false,msg:"Acquirer was not found based on merchant and brand input"},367  50001045:{retry:false,msg:"Merchant does not have an usable UID for the transaction's acquirer"},368  50001046:{retry:false,msg:"Opération non permise pour le marchand"},369  50001047:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},370  50001048:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},371  50001049:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},372  50001050:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},373  50001051:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},374  50001052:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},375  50001053:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},376  50001054:{retry:false,msg:"Numéro de carte incorrect ou incompatible"},377  50001055:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},378  50001056:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},379  50001057:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},380  50001058:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},381  50001059:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},382  50001060:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},383  50001061:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},384  50001062:{retry:false,msg:"Un problème technique empêche votre ordre d'être traité, veuillez contacter le helpdesk."},385  50001063:{retry:false,msg:"Issue Number pas présent ou non valide"},386  50001064:{retry:false,msg:"Start Date pas présente ou invalide"},387  50001066:{retry:false,msg:"Format du code CVC invalide"},388  50001067:{retry:false,msg:"Le commerçant n'utilise pas à 3D-Secure"},389  50001068:{retry:false,msg:"Le numéro de carte ou numéro de compte (PAN) est invalide"},390  50001069:{retry:false,msg:"Vérification invalide pour CardID et Brand"},391  50001070:{retry:false,msg:"La valeur ECI indiquée n'est pas supportée, soit elle entre en conflit avec d'autres données de la transaction"},392  50001071:{retry:false,msg:"Incomplete TRN demat"},393  50001072:{retry:false,msg:"Incomplete PAY demat"},394  50001073:{retry:false,msg:"No demat APP"},395  50001074:{retry:false,msg:"Authorisation period expired"},396  50001075:{retry:false,msg:"VERRes était un message d'erreur"},397  50001076:{retry:false,msg:"Le montant DCP est supérieur au montant de l'autorisation"},398  50001077:{retry:false,msg:"Details negative amount"},399  50001078:{retry:false,msg:"Details negative quantity"},400  50001079:{retry:false,msg:"Impossible de décoder/décompresser l'élément PARes reçu (3-D Secure)"},401  50001080:{retry:false,msg:"L'élément PARes reçu est un message d'erreur du serveur ACS (3-D Secure)"},402  50001081:{retry:false,msg:"Le format de l'élément PARes reçu est invalide d'après les normes 3-D Secure (3-D Secure)"},403  50001082:{retry:false,msg:"Echec de réconciliation PAReq/PARes (3-D Secure)"},404  50001084:{retry:false,msg:"Montant maximum autorisé dépassé"},405  50001087:{retry:false,msg:"Ce type de carte demande une étape d'identification. Veuillez vérifier avec votre banque."},406  50001090:{retry:false,msg:"CVC manquant, mais contrôle du CVC obligatoire"},407  50001091:{retry:false,msg:"Code postal manquant, mais contrôle du code postal obligatoire"},408  50001092:{retry:false,msg:"Adresse manquante, mais contrôle de l'adresse obligatoire"},409  50001093:{retry:false,msg:"Capture partielle non autorisée"},410  50001095:{retry:false,msg:"Date de naissance invalide"},411  50001096:{retry:false,msg:"Code de commodité invalide"},412  50001097:{retry:false,msg:"La devise et le type de carte demandés sont incompatibles."},413  50001111:{retry:false,msg:"Erreur de données"},414  50001113:{retry:false,msg:"Cette commande a déjà été traitée"},415  50001114:{retry:false,msg:"Erreur d'accès à la page de contrôle"},416  50001115:{retry:false,msg:"Requête reçue en mode non sécurisé"},417  50001116:{retry:false,msg:"IP d'origine inconnue"},418  50001117:{retry:false,msg:"Pas d'IP d'origine"},419  50001118:{retry:false,msg:"PSPID incorrect ou non valide"},420  50001119:{retry:false,msg:"Mot de passe incorrect ou trop d'erreurs"},421  50001120:{retry:false,msg:"Devise incorrecte"},422  50001121:{retry:false,msg:"Nombre de décimales incorrect"},423  50001122:{retry:false,msg:"Devise non acceptée par le marchand"},424  50001123:{retry:false,msg:"Type de carte non actif"},425  50001124:{retry:false,msg:"Le nombre de lignes ne correspond pas au nombre de paiements"},426  50001125:{retry:false,msg:"Erreur de format"},427  50001126:{retry:false,msg:"Le total des paiements est trop grand par rapport au montant de la commande"},428  50001127:{retry:false,msg:"Le statut de l'ordre original est incorrect"},429  50001128:{retry:false,msg:"Code d'autorisation manquant pour un ordre non autorisé"},430  50001129:{retry:false,msg:"Le montant remboursé est trop grand par rapport au montant payé"},431  50001130:{retry:false,msg:"Erreur d'accès à l'ordre original"},432  50001131:{retry:false,msg:"Erreur d'accès au détail historique original"},433  50001132:{retry:false,msg:"Le Catalogue Sélectionné est Vide"},434  50001133:{retry:false,msg:"Duplicata"},435  50001134:{retry:false,msg:"Erreur d'authentification, veuillez réessayer ou annuler"},436  50001135:{retry:false,msg:"Système d'authentification temporairement indisponible, veuillez ré-essayer ou annuler"},437  50001136:{retry:false,msg:"Erreur technique de votre navigateur web, veuillez ré-essayer ou annuler"},438  50001137:{retry:false,msg:"Le système de contrôle d'accès de votre banque est temporairement indisponible, veuillez ré-essayer ou annuler"},439  50001150:{retry:false,msg:"Détection de fraude, Erreur technique (IP invalide)"},440  50001151:{retry:false,msg:"Détection de fraude : erreur technique (pays de l'IP inconnu ou erroné)"},441  50001152:{retry:false,msg:"Détection de fraude : erreur technique (pays de la carte de crédit inconnu ou erroné)"},442  50001153:{retry:false,msg:"Le montant ré-autorisé est trop grand par rapport au montant initial"},443  50001170:{retry:false,msg:"Contrôle dynamique du BIN a échoué."},444  50001171:{retry:false,msg:"Contrôle dynamique du pays a échoué."},445  50001172:{retry:false,msg:"Erreur de signature dans Amadeus"},446  50001174:{retry:true,msg:"Nom du titulaire de la carte trop long"},447  50001175:{retry:false,msg:"Le nom contient des caractères invalides"},448  50001176:{retry:false,msg:"Numéro de carte trop long"},449  50001177:{retry:false,msg:"Le numéro de carte contient des informations non numériques"},450  50001178:{retry:false,msg:"Numéro de carte vide"},451  50001179:{retry:false,msg:"CVC trop long"},452  50001180:{retry:false,msg:"Le CVC contient des informations non numériques"},453  50001181:{retry:false,msg:"La date d'expiration contient des informations non numériques"},454  50001182:{retry:false,msg:"Mois d'expiration invalide"},455  50001183:{retry:false,msg:"La date d'expiration doit se trouver dans le futur"},456  50001184:{retry:false,msg:"Incohérence SHA"},457  50001185:{retry:false,msg:"La longueur du code BIC est invalide"},458  50001186:{retry:false,msg:"Opération non autorisée"},459  50001187:{retry:false,msg:"Opération non autorisée"},460  50001191:{retry:false,msg:"La longueur de {0} ne peut compter plus de {1} caractères."},461  50001192:{retry:false,msg:"Seuls les caractères alphanumériques sont autorisés."},462  50001193:{retry:false,msg:"Seuls {0} caractères et caractères spéciaux {1} sont autorisés."},463  50001194:{retry:false,msg:"{0} est invalide."},464  50001205:{retry:false,msg:"Champs obligatoires manquants pour l adresse de facturation."},465  50001206:{retry:false,msg:"Champ obligatoire manquant pour la date de naissance."},466  50001207:{retry:false,msg:"Détails requis manquants pour le panier d achat."},467  50001208:{retry:false,msg:"Numéro de sécurité sociale manquant"},468  50001209:{retry:false,msg:"Code du pays invalide"},469  50001210:{retry:false,msg:"Salaire annuel manquant"},470  50001211:{retry:false,msg:"Sexe manquant"},471  50001212:{retry:false,msg:"Adresse électronique manquante"},472  50001213:{retry:false,msg:"Adresse IP manquante"},473  50001214:{retry:false,msg:"ID de campagne de paiement échelonné manquant"},474  50001215:{retry:false,msg:"Numéro de facture manquant"},475  50001216:{retry:false,msg:"L alias doit être différent du numéro de carte."},476  50001217:{retry:false,msg:"Détails de calcul du panier d'achat invalides"},477  50001218:{retry:false,msg:"Aucun remboursement n'est autorisé"},478  50001220:{retry:false,msg:"Format du numéro de téléphone invalide"},479  50001221:{retry:false,msg:"Format du code postal invalide"},480  50001222:{retry:false,msg:"Prénom et/ou nom manquant"},481  50001223:{retry:false,msg:"Format du prénom et/ou du nom invalide"},482  50001224:{retry:false,msg:"Numéro de téléphone manquant."},483  50001225:{retry:false,msg:"Format de l'adresse e-mail invalide"},484  50001300:{retry:false,msg:"Type de carte/mode de paiement incorrect"},485  50001301:{retry:false,msg:"Format de numéro de compte incorrect"},486  50001302:{retry:false,msg:"Le code opération RFP n'est autorisé que pour les paiements planifiés"},487  50001303:{retry:false,msg:"Code opération RFP non autorisé pour un paiement en différend commercial ou fraude"},488  50001304:{retry:false,msg:"Code opération RFP non autorisé - Montants impayés"},489  50001501:{retry:false,msg:"{0} est obligatoire."},490  55555555:{retry:false,msg:"Une erreur s'est produite"},491  60000001:{retry:false,msg:"numéro de compte inconnu"},492  60000003:{retry:false,msg:"jj-mm-aa non crédité"},493  60000005:{retry:false,msg:"le nom ou le numéro ne correspondent pas"},494  60000007:{retry:false,msg:"numéro de compte bloqué"},495  60000008:{retry:false,msg:"blocage du débit direct spécifique"},496  60000009:{retry:false,msg:"numéro de compte WKA"},497  60000010:{retry:false,msg:"raison administrative"},498  60000011:{retry:false,msg:"numéro de compte expiré"},499  60000012:{retry:false,msg:"aucune autorisation de débit directe donnée"},500  60000013:{retry:false,msg:"débit non approuvé"},501  60000014:{retry:false,msg:"double paiement"},502  60000018:{retry:false,msg:"Nom/Adresse/Ville non rempli"},503  60001001:{retry:false,msg:"pas de débit direct original pour révocation"},504  60001002:{retry:false,msg:"erreur dans le format du numéro de compte du payeur"},505  60001004:{retry:false,msg:"compte du payeur à une autre banque"},506  60001005:{retry:false,msg:"compte du destinataire à une autre banque"},507  60001006:{retry:false,msg:"erreur dans le format du numéro de compte du destinataire"},508  60001007:{retry:false,msg:"numéro de compte du payeur bloqué"},509  60001008:{retry:false,msg:"numéro de compte du payeur expiré"},510  60001009:{retry:false,msg:"numéro de compte du destinataire expiré"},511  60001010:{retry:false,msg:"débit direct impossible"},512  60001011:{retry:false,msg:"paiement créditeur impossible"},513  60001012:{retry:false,msg:"numéro WKA inconnu pour le numéro de compte du payeur"},514  60001013:{retry:false,msg:"numéro WKA inconnu pour le numéro de compte du destinataire"},515  60001014:{retry:false,msg:"transaction WKA impossible à autoriser"},516  60001015:{retry:false,msg:"période de révocation expirée"},517  60001017:{retry:false,msg:"raison de la révocation incorrecte"},518  60001018:{retry:false,msg:"numéro d'exécution original non numérique"},519  60001019:{retry:false,msg:"ID paiement incorrect"},520  60001020:{retry:false,msg:"montant non numérique"},521  60001021:{retry:false,msg:"montant zéro non autorisé"},522  60001022:{retry:false,msg:"montant négatif non autorisé"},523  60001023:{retry:false,msg:"numéro de compte du virement du payeur et du destinataire"},524  60001025:{retry:false,msg:"code de traitement incorrect"},525  60001028:{retry:false,msg:"révocation non autorisée"},526  60001029:{retry:false,msg:"débit direct garanti sur le numéro de compte du virement"},527  60001030:{retry:false,msg:"type de transaction NBC incorrect"},528  60001031:{retry:false,msg:"description trop longue"},529  60001032:{retry:false,msg:"numéro de livre comptable non existant"},530  60001034:{retry:false,msg:"numéro de livre comptable incorrect"},531  60001035:{retry:false,msg:"numéro de compte du payeur non numérique"},532  60001036:{retry:false,msg:"numéro de compte du payeur non vérifié"},533  60001037:{retry:false,msg:"numéro de compte du payeur non émis"},534  60001039:{retry:false,msg:"numéro de compte du payeur de DNB/BGC/BLA"},535  60001040:{retry:false,msg:"numéro de compte du destinataire non numérique"},536  60001041:{retry:false,msg:"numéro de compte du destinataire non vérifié"},537  60001042:{retry:false,msg:"numéro de compte du destinataire non émis"},538  60001044:{retry:false,msg:"numéro de compte du destinataire inconnu"},539  60001050:{retry:false,msg:"nom du destinataire manquant"},540  60001051:{retry:false,msg:"indiquer le numéro de compte du destinataire au lieu de 3102"},541  60001052:{retry:false,msg:"pas de contrat de débit direct"},542  60001053:{retry:false,msg:"montant hors limites"},543  60001054:{retry:false,msg:"blocage du débit direct sélectif"},544  60001055:{retry:false,msg:"numéro d'exécution original inconnu"},545  60001057:{retry:false,msg:"nom du payeur manquant"},546  60001058:{retry:false,msg:"numéro de compte du destinataire manquant"},547  60001059:{retry:false,msg:"restauration non autorisée"},548  60001060:{retry:false,msg:"référence de la banque manquante"},549  60001061:{retry:false,msg:"Numéro BEC/GBK incorrect"},550  60001062:{retry:false,msg:"Code BEC/GBK incorrect"},551  60001087:{retry:false,msg:"numéro de livre comptable non numérique"},552  60001090:{retry:false,msg:"annulé sur demande"},553  60001091:{retry:false,msg:"annulation de la commande exécutée"},554  60001092:{retry:false,msg:"annulé au lieu de traité différemment"},555  60001093:{retry:false,msg:"le numéro de livre comptable est un numéro de compte raccourci"},556  60001094:{retry:false,msg:"numéro de compte du donneur d'ordre différente de celui du payeur"},557  60001095:{retry:false,msg:"destinataire inconnu de l'acceptant GBK"},558  60001097:{retry:false,msg:"numéro de compte du donneur d'ordre différente de celui du destinataire"},559  60001099:{retry:false,msg:"effacement non autorisé"},560  60001101:{retry:false,msg:"numéro de compte du payeur sans espaces"},561  60001102:{retry:false,msg:"longueur PAN non numérique"},562  60001103:{retry:false,msg:"longueur PAN hors limites"},563  60001104:{retry:false,msg:"numéro de suivi non numérique"},564  60001105:{retry:false,msg:"numéro de suivi non valide"},565  60001106:{retry:false,msg:"numéro de séquence PAN non numérique"},566  60001107:{retry:false,msg:"PAN domestique non numérique"},567  60001108:{retry:false,msg:"PAN domestique non vérifié"},568  60001109:{retry:false,msg:"PAN domestique non émis"},569  60001110:{retry:false,msg:"PAN étranger non numérique"},570  60001111:{retry:false,msg:"date de validation de la carte non numérique"},571  60001112:{retry:false,msg:"numéro de période de réservation non numérique"},572  60001113:{retry:false,msg:"numéro de transaction non numérique"},573  60001114:{retry:false,msg:"heure de transaction non numérique"},574  60001115:{retry:false,msg:"temps de transaction invalide"},575  60001116:{retry:false,msg:"date de transaction non numérique"},576  60001117:{retry:false,msg:"date de transaction invalide"},577  60001118:{retry:false,msg:"STAN non numérique"},578  60001119:{retry:false,msg:"nom du donneur d'ordre manquant"},579  60001120:{retry:false,msg:"montant étranger non numérique"},580  60001122:{retry:false,msg:"taux non numérique"},581  60001125:{retry:false,msg:"nombre de décimales incorrect"},582  60001126:{retry:false,msg:"tarif non B/O/S"},583  60001127:{retry:false,msg:"frais domestiques non numériques"},584  60001128:{retry:false,msg:"frais domestiques non supérieurs à zéro"},585  60001129:{retry:false,msg:"frais étrangers non numériques"},586  60001130:{retry:false,msg:"frais étrangers non supérieurs à zéro"},587  60001131:{retry:false,msg:"frais domestiques différents de zéro"},588  60001132:{retry:false,msg:"frais étrangers différents de zéro"},589  60001134:{retry:false,msg:"enregistrement Euro non rempli"},590  60001135:{retry:false,msg:"Devise du client incorrecte"},591  60001136:{retry:false,msg:"Montant NLG non numérique"},592  60001137:{retry:false,msg:"Montant NLG non supérieur à zéro"},593  60001138:{retry:false,msg:"Montant NLG différent du montant"},594  60001139:{retry:false,msg:"Montant NLG mal converti"},595  60001140:{retry:false,msg:"Montant EUR non numérique"},596  60001141:{retry:false,msg:"Montant EUR non supérieur à zéro"},597  60001142:{retry:false,msg:"Montant EUR différent du montant"},598  60001143:{retry:false,msg:"Montant EUR mal converti"},599  60001144:{retry:false,msg:"Devise du client non NLG"},600  60001145:{retry:false,msg:"cours euro-vv non numérique"},601  60001146:{retry:false,msg:"taux décimal euro-vv incorrect"},602  60001147:{retry:false,msg:"distributeur acceptgiro non valide"},603  60001148:{retry:false,msg:"Numéro original d'exécution et/ou BRN manquants"},604  60001149:{retry:false,msg:"Montant/Numéro de compte/BRN différents"},605  60001150:{retry:false,msg:"Débit direct déjà annulé/rétabli"},606  60001151:{retry:false,msg:"Débit direct déjà inversé/annulé/rétabli"},607  60001153:{retry:false,msg:"Numéro de compte du payeur inconnu"}...

Full Screen

Full Screen

umbraco.security.js

Source:umbraco.security.js Github

copy

Full Screen

...83        service.cancelAll();84        return;85      }86      while(service.hasMore()) {87        retryQueue.shift().retry();88      }89    }90  };91  return service;92}]);93angular.module('umbraco.security.interceptor')94    // This http interceptor listens for authentication successes and failures95    .factory('securityInterceptor', ['$injector', 'securityRetryQueue', 'notificationsService', 'requestInterceptorFilter', function ($injector, queue, notifications, requestInterceptorFilter) {96        return function(promise) {97            return promise.then(98                function(originalResponse) {99                    // Intercept successful requests100                    //Here we'll check if our custom header is in the response which indicates how many seconds the user's session has before it101                    //expires. Then we'll update the user in the user service accordingly....

Full Screen

Full Screen

test.js

Source:test.js Github

copy

Full Screen

...9            count += 1;10            return promiseDelay(10)11            .then(function () {12                if (count <= 2) {13                    retry(new Error('foo'));14                }15                return 'final';16            });17        }, { factor: 1 })18        .then(function (value) {19            expect(value).to.be('final');20            expect(count).to.be(3);21        }, function () {22            throw new Error('should not fail');23        });24    });25    it('should call fn with the attempt number', function () {26        var count = 0;27        return promiseRetry(function (retry, number) {28            count += 1;29            expect(count).to.equal(number);30            return promiseDelay(10)31            .then(function () {32                if (count <= 2) {33                    retry(new Error('foo'));34                }35                return 'final';36            });37        }, { factor: 1 })38        .then(function (value) {39            expect(value).to.be('final');40            expect(count).to.be(3);41        }, function () {42            throw new Error('should not fail');43        });44    });45    it('should not retry on fulfillment if retry was not called', function () {46        var count = 0;47        return promiseRetry(function () {48            count += 1;49            return promiseDelay(10)50            .then(function () {51                return 'final';52            });53        })54        .then(function (value) {55            expect(value).to.be('final');56            expect(count).to.be(1);57        }, function () {58            throw new Error('should not fail');59        });60    });61    it('should not retry on rejection if retry was not called', function () {62        var count = 0;63        return promiseRetry(function () {64            count += 1;65            return promiseDelay(10)66            .then(function () {67                throw new Error('foo');68            });69        })70        .then(function () {71            throw new Error('should not succeed');72        }, function (err) {73            expect(err.message).to.be('foo');74            expect(count).to.be(1);75        });76    });77    it('should not retry on rejection if nr of retries is 0', function () {78        var count = 0;79        return promiseRetry(function (retry) {80            count += 1;81            return promiseDelay(10)82            .then(function () {83                throw new Error('foo');84            })85            .catch(retry);86        }, { retries : 0 })87        .then(function () {88            throw new Error('should not succeed');89        }, function (err) {90            expect(err.message).to.be('foo');91            expect(count).to.be(1);92        });93    });94    it('should reject the promise if the retries were exceeded', function () {95        var count = 0;96        return promiseRetry(function (retry) {97            count += 1;98            return promiseDelay(10)99            .then(function () {100                throw new Error('foo');101            })102            .catch(retry);103        }, { retries: 2, factor: 1 })104        .then(function () {105            throw new Error('should not succeed');106        }, function (err) {107            expect(err.message).to.be('foo');108            expect(count).to.be(3);109        });110    });111    it('should pass options to the underlying retry module', function () {112        var count = 0;113        return promiseRetry(function (retry) {114            return promiseDelay(10)115            .then(function () {116                if (count < 2) {117                    count += 1;118                    retry(new Error('foo'));119                }120                return 'final';121            });122        }, { retries: 1, factor: 1 })123        .then(function () {124            throw new Error('should not succeed');125        }, function (err) {126            expect(err.message).to.be('foo');127        });128    });129    it('should convert direct fulfillments into promises', function () {130        return promiseRetry(function () {131            return 'final';132        }, { factor: 1 })133        .then(function (value) {134            expect(value).to.be('final');135        }, function () {136            throw new Error('should not fail');137        });138    });139    it('should convert direct rejections into promises', function () {140        promiseRetry(function () {141            throw new Error('foo');142        }, { retries: 1, factor: 1 })143        .then(function () {144            throw new Error('should not succeed');145        }, function (err) {146            expect(err.message).to.be('foo');147        });148    });149    it('should not crash on undefined rejections', function () {150        return promiseRetry(function () {151            throw undefined;152        }, { retries: 1, factor: 1 })153        .then(function () {154            throw new Error('should not succeed');155        }, function (err) {156            expect(err).to.be(undefined);157        })158        .then(function () {159            return promiseRetry(function (retry) {160                retry();161            }, { retries: 1, factor: 1 });162        })163        .then(function () {164            throw new Error('should not succeed');165        }, function (err) {166            expect(err).to.be(undefined);167        });168    });169    it('should retry if retry() was called with undefined', function () {170        var count = 0;171        return promiseRetry(function (retry) {172            count += 1;173            return promiseDelay(10)174            .then(function () {175                if (count <= 2) {176                    retry();177                }178                return 'final';179            });180        }, { factor: 1 })181        .then(function (value) {182            expect(value).to.be('final');183            expect(count).to.be(3);184        }, function () {185            throw new Error('should not fail');186        });187    });188    it('should work with several retries in the same chain', function () {189        var count = 0;190        return promiseRetry(function (retry) {191            count += 1;192            return promiseDelay(10)193            .then(function () {194                retry(new Error('foo'));195            })196            .catch(function (err) {197                retry(err);198            });199        }, { retries: 1, factor: 1 })200        .then(function () {201            throw new Error('should not succeed');202        }, function (err) {203            expect(err.message).to.be('foo');204            expect(count).to.be(2);205        });206    });207    it('should allow options to be passed first', function () {208        var count = 0;209        return promiseRetry({ factor: 1 }, function (retry) {210            count += 1;211            return promiseDelay(10)212                .then(function () {213                    if (count <= 2) {214                        retry(new Error('foo'));215                    }216                    return 'final';217                });218        }).then(function (value) {219            expect(value).to.be('final');220            expect(count).to.be(3);221        }, function () {222            throw new Error('should not fail');223        });224    });...

Full Screen

Full Screen

retry.js

Source:retry.js Github

copy

Full Screen

...48 * // The `retry` function can be used as a stand-alone control flow by passing49 * // a callback, as shown below:50 *51 * // try calling apiMethod 3 times52 * async.retry(3, apiMethod, function(err, result) {53 *     // do something with the result54 * });55 *56 * // try calling apiMethod 3 times, waiting 200 ms between each retry57 * async.retry({times: 3, interval: 200}, apiMethod, function(err, result) {58 *     // do something with the result59 * });60 *61 * // try calling apiMethod 10 times with exponential backoff62 * // (i.e. intervals of 100, 200, 400, 800, 1600, ... milliseconds)63 * async.retry({64 *   times: 10,65 *   interval: function(retryCount) {66 *     return 50 * Math.pow(2, retryCount);67 *   }68 * }, apiMethod, function(err, result) {69 *     // do something with the result70 * });71 *72 * // try calling apiMethod the default 5 times no delay between each retry73 * async.retry(apiMethod, function(err, result) {74 *     // do something with the result75 * });76 *77 * // try calling apiMethod only when error condition satisfies, all other78 * // errors will abort the retry control flow and return to final callback79 * async.retry({80 *   errorFilter: function(err) {81 *     return err.message === 'Temporary error'; // only retry on a specific error82 *   }83 * }, apiMethod, function(err, result) {84 *     // do something with the result85 * });86 *87 * // It can also be embedded within other control flow functions to retry88 * // individual methods that are not as reliable, like this:89 * async.auto({90 *     users: api.getUsers.bind(api),91 *     payments: async.retry(3, api.getPayments.bind(api))92 * }, function(err, results) {93 *     // do something with the results94 * });95 *96 */97function retry(opts, task, callback) {98    var DEFAULT_TIMES = 5;99    var DEFAULT_INTERVAL = 0;100    var options = {101        times: DEFAULT_TIMES,102        intervalFunc: (0, _constant2.default)(DEFAULT_INTERVAL)103    };104    function parseTimes(acc, t) {105        if (typeof t === 'object') {106            acc.times = +t.times || DEFAULT_TIMES;107            acc.intervalFunc = typeof t.interval === 'function' ? t.interval : (0, _constant2.default)(+t.interval || DEFAULT_INTERVAL);108            acc.errorFilter = t.errorFilter;109        } else if (typeof t === 'number' || typeof t === 'string') {110            acc.times = +t || DEFAULT_TIMES;111        } else {...

Full Screen

Full Screen

waitFor.js

Source:waitFor.js Github

copy

Full Screen

1const timeout = require('../util/timeouts');2const log = require('../util/logger');3const EC = protractor.ExpectedConditions;4const maxRetries = 5;5class WaitFor {6    elementToBeClickable(elementName, element, retryCount) {7        if (retryCount === null || isNaN(retryCount)) {8            retryCount = 0;9        }10        browser.wait(EC.elementToBeClickable(element), timeout.defaultTimeOut).then(() => {}, (err) => {11            log.info(`Element '${elementName}' is still not visible after ${timeout.defaultTimeOut / 1000} seconds, checking again`);12            if (retryCount > maxRetries) {13                log.info(err);14                throw err;15            } else {16                this.elementToBeClickable(elementName, element, ++retryCount);17            }18        });19    }20    elementToBeVisible(elementName, element, retryCount) {21        if (retryCount === null || isNaN(retryCount)) {22            retryCount = 0;23        }24        browser.wait(EC.visibilityOf(element), timeout.defaultTimeOut).then(() => {}, (err) => {25            log.info(`Element '${elementName}' is still not visible after ${timeout.defaultTimeOut / 1000} seconds, checking again`);26            if (retryCount > maxRetries) {27                log.info(err);28                throw err;29            } else {30                this.elementToBeVisible(elementName, element, ++retryCount);31            }32        });33    }34    elementToBeInvisible(elementName, element, retryCount) {35        if (retryCount === null || isNaN(retryCount)) {36            retryCount = 0;37        }38        browser.wait(EC.invisibilityOf(element), timeout.defaultTimeOut).then(() => {}, (err) => {39            log.info(`Element '${elementName}' is still visible after ${timeout.defaultTimeOut / 1000} seconds, checking again`);40            if (retryCount > maxRetries) {41                log.info(err);42                throw err;43            } else {44                this.elementToBeInvisible(elementName, element, ++retryCount);45            }46        });47    }48    titleToBe(title, retryCount) {49        if (retryCount === null || isNaN(retryCount)) {50            retryCount = 0;51        }52        browser.wait(EC.titleContains(title), timeout.defaultTimeOut).then(() => {}, (err) => {53            log.info(`Page title is still not '${title}' after ${timeout.defaultTimeOut / 1000} seconds, checking again`);54            if (retryCount > maxRetries) {55                log.info(err);56                throw err;57            } else {58                this.titleToBe(title, ++retryCount);59            }60        });61    }62    elementTextToBe(elementName, element, text, retryCount) {63        if (retryCount === null || isNaN(retryCount)) {64            retryCount = 0;65        }66        browser.wait(EC.textToBePresentInElement(element, text, timeout.defaultTimeOut)).then(() => {}, (err) => {67            log.info(`Element '${elementName}' still not contain text '${text}' after ${timeout.defaultTimeOut / 1000} seconds, checking again`);68            if (retryCount > maxRetries) {69                log.info(err);70                throw err;71            } else {72                this.elementTextToBe(elementName, element, text, ++retryCount);73            }74        });75    }76}...

Full Screen

Full Screen

fetchWithRetries.js

Source:fetchWithRetries.js Github

copy

Full Screen

1/* */ 2(function(process) {3  'use strict';4  Object.defineProperty(exports, '__esModule', {value: true});5  function _objectWithoutProperties(obj, keys) {6    var target = {};7    for (var i in obj) {8      if (keys.indexOf(i) >= 0)9        continue;10      if (!Object.prototype.hasOwnProperty.call(obj, i))11        continue;12      target[i] = obj[i];13    }14    return target;15  }16  var ExecutionEnvironment = require('./ExecutionEnvironment');17  var Promise = require('./Promise');18  var sprintf = require('./sprintf');19  var fetch = require('./fetch');20  var warning = require('./warning');21  var DEFAULT_TIMEOUT = 15000;22  var DEFAULT_RETRIES = [1000, 3000];23  function fetchWithRetries(uri, initWithRetries) {24    var _ref = initWithRetries || {};25    var fetchTimeout = _ref.fetchTimeout;26    var retryDelays = _ref.retryDelays;27    var init = _objectWithoutProperties(_ref, ['fetchTimeout', 'retryDelays']);28    var _fetchTimeout = fetchTimeout != null ? fetchTimeout : DEFAULT_TIMEOUT;29    var _retryDelays = retryDelays != null ? retryDelays : DEFAULT_RETRIES;30    var requestsAttempted = 0;31    var requestStartTime = 0;32    return new Promise(function(resolve, reject) {33      function sendTimedRequest() {34        requestsAttempted++;35        requestStartTime = Date.now();36        var isRequestAlive = true;37        var request = fetch(uri, init);38        var requestTimeout = setTimeout(function() {39          isRequestAlive = false;40          if (shouldRetry(requestsAttempted)) {41            process.env.NODE_ENV !== 'production' ? warning(false, 'fetchWithRetries: HTTP timeout, retrying.') : undefined;42            retryRequest();43          } else {44            reject(new Error(sprintf('fetchWithRetries(): Failed to get response from server, ' + 'tried %s times.', requestsAttempted)));45          }46        }, _fetchTimeout);47        request.then(function(response) {48          clearTimeout(requestTimeout);49          if (isRequestAlive) {50            if (response.status >= 200 && response.status < 300) {51              resolve(response);52            } else if (shouldRetry(requestsAttempted)) {53              process.env.NODE_ENV !== 'production' ? process.env.NODE_ENV !== 'production' ? warning(false, 'fetchWithRetries: HTTP error, retrying.') : undefined : undefined, retryRequest();54            } else {55              var error = new Error(sprintf('fetchWithRetries(): Still no successful response after ' + '%s retries, giving up.', requestsAttempted));56              error.response = response;57              reject(error);58            }59          }60        })['catch'](function(error) {61          clearTimeout(requestTimeout);62          if (shouldRetry(requestsAttempted)) {63            retryRequest();64          } else {65            reject(error);66          }67        });68      }69      function retryRequest() {70        var retryDelay = _retryDelays[requestsAttempted - 1];71        var retryStartTime = requestStartTime + retryDelay;72        setTimeout(sendTimedRequest, retryStartTime - Date.now());73      }74      function shouldRetry(attempt) {75        return ExecutionEnvironment.canUseDOM && attempt <= _retryDelays.length;76      }77      sendTimedRequest();78    });79  }80  module.exports = fetchWithRetries;...

Full Screen

Full Screen

retryQueue.js

Source:retryQueue.js Github

copy

Full Screen

...57      }58    },59    retryAll: function() {60      while(service.hasMore()) {61        retryQueue.shift().retry();62      }63    }64  };65  return service;...

Full Screen

Full Screen

ResourceHandler.js

Source:ResourceHandler.js Github

copy

Full Screen

1//-----------------------------------------------------------------------------2/**3 * The static class that handles resource loading.4 *5 * @class ResourceHandler6 */7function ResourceHandler() {8    throw new Error('This is a static class');9}10ResourceHandler._reloaders = [];11ResourceHandler._defaultRetryInterval = [500, 1000, 3000];12ResourceHandler.createLoader = function(url, retryMethod, resignMethod, retryInterval) {13    retryInterval = retryInterval || this._defaultRetryInterval;14    var reloaders = this._reloaders;15    var retryCount = 0;16    return function() {17        if (retryCount < retryInterval.length) {18            setTimeout(retryMethod, retryInterval[retryCount]);19            retryCount++;20        } else {21            if (resignMethod) {22                resignMethod();23            }24            if (url) {25                if (reloaders.length === 0) {26                    Graphics.printLoadingError(url);27                    SceneManager.stop();28                }29                reloaders.push(function() {30                    retryCount = 0;31                    retryMethod();32                });33            }34        }35    };36};37ResourceHandler.exists = function() {38    return this._reloaders.length > 0;39};40ResourceHandler.retry = function() {41    if (this._reloaders.length > 0) {42        Graphics.eraseLoadingError();43        SceneManager.resume();44        this._reloaders.forEach(function(reloader) {45            reloader();46        });47        this._reloaders.length = 0;48    }...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const webdriverio = require('webdriverio');2const options = {3  capabilities: {4  }5};6const client = webdriverio.remote(options);7  .init()8  .waitForExist('~Retry', 10000)9  .click('~Retry')10  .waitForExist('~Retry', 10000)11  .click('~Retry')12  .end();13const webdriverio = require('webdriverio');14const options = {15  capabilities: {16  }17};18const client = webdriverio.remote(options);19  .init()20  .waitForExist('~Retry', 10000)21  .click('~Retry')22  .waitForExist('~Retry', 10000)23  .click('~Retry')24  .end();25const webdriverio = require('webdriverio');26const options = {27  capabilities: {28  }29};30const client = webdriverio.remote(options);31  .init()32  .waitForExist('~Retry', 10000)33  .click('~Retry')34  .waitForExist('~Retry', 10000)35  .click('~Retry')36  .end();

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const retry = require('asyncbox').retry;3const assert = require('assert');4const desired = {5};6const driver = wd.promiseChainRemote('localhost', 4723);7driver.init(desired).then(function () {8  return retry(3, driver.findElement, driver.by.name('MyButton'));9}).then(function (el) {10  return el.click();11}).then(function () {12  return driver.quit();13}).catch(function (err) {14  console.log(err);15});16const wd = require('wd');17const retry = require('asyncbox').retry;18const assert = require('assert');19const desired = {20};21const driver = wd.promiseChainRemote('localhost', 4723);22driver.init(desired).then(function () {23  return retry(3, function () {24    return driver.findElement(driver.by.name('MyButton')).click();25  });26}).then(function () {27  return driver.quit();28}).catch(function (err) {29  console.log(err);30});31const wd = require('wd');32const retry = require('asyncbox').retry;

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require('assert');3var retry = require('async-retry');4var desiredCaps = {5};6driver.init(desiredCaps)7  .then(function () {8    return retry(async function () {9      return driver.elementByAccessibilityId('Login').click();10    }, {11    });12  })13  .then(function () {14    return driver.elementByAccessibilityId('username').sendKeys('Test');15  })16  .then(function () {17    return driver.elementByAccessibilityId('password').sendKeys('Test');18  })19  .then(function () {20    return driver.elementByAccessibilityId('login').click();21  })22  .then(function () {23    return driver.waitForElementByAccessibilityId('logout', 5000);24  })25  .then(function () {26    return driver.elementByAccessibilityId('logout').click();27  })28  .then(function () {29    return driver.waitForElementByAccessibilityId('Login', 5000);30  })31  .then(function () {32    console.log('Test Passed');33  })34  .catch(function (err) {35    console.log('Test Failed');36    console.log(err);37  });

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var assert = require("assert");3var retry = require('async-retry');4var desired = {5};6  .init(desired)7  .setImplicitWaitTimeout(10000)8  .elementByAccessibilityId('Button1')9  .then(function(button) {10    return retry(function() {11      return button.click();12    });13  })14  .then(function() {15    return driver.quit();16  })17  .catch(function(err) {18    console.log(err);19    return driver.quit();20  });

Full Screen

Using AI Code Generation

copy

Full Screen

1let retry = require('async-retry');2let driver = await retry(3  async () => {4    return await createDriver();5  },6  {7    onRetry: (err) => {8      console.log('Retrying...');9    }10  }11);12let retry = require('async-retry');13let driver = await retry(14  async () => {15    return await createDriver();16  },17  {18    onRetry: (err) => {19      console.log('Retrying...');20    }21  }22);23let retry = require('async-retry');24let driver = await retry(25  async () => {26    return await createDriver();27  },28  {29    onRetry: (err) => {30      console.log('Retrying...');31    }32  }33);34let retry = require('async-retry');35let driver = await retry(36  async () => {37    return await createDriver();38  },39  {40    onRetry: (err) => {41      console.log('Retrying...');42    }43  }44);45let retry = require('async-retry');46let driver = await retry(47  async () => {48    return await createDriver();49  },50  {51    onRetry: (err) => {52      console.log('Retrying...');53    }54  }55);56let retry = require('async-retry');57let driver = await retry(58  async () => {59    return await createDriver();60  },61  {62    onRetry: (err) => {63      console.log('Retrying...');64    }65  }66);67let retry = require('async-retry');68let driver = await retry(69  async ()

Full Screen

Using AI Code Generation

copy

Full Screen

1require('appium-xcuitest-driver').retry(3, function() {2    console.log("retrying");3    return new Promise(function(resolve, reject) {4        reject();5    });6})7.then(function() {8    console.log("succeeded");9})10.catch(function() {11    console.log("failed");12});13require('appium-xcuitest-driver').retry(3, function() {14    console.log("retrying");15    return new Promise(function(resolve, reject) {16        resolve();17    });18})19.then(function() {20    console.log("succeeded");21})22.catch(function() {23    console.log("failed");24});25require('appium-xcuitest-driver').retry(3, function() {26    console.log("retrying");27    return new Promise(function(resolve, reject) {28        resolve();29    });30})31.then(function() {32    console.log("succeeded");33})34.catch(function() {35    console.log("failed");36});

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Appium Xcuitest Driver automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Sign up Free
_

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful