0
votes

Faire une certaine validation standard à l'élément Web avant de faire l'action réelle

Comme le suggère le titre, je fais une vérification standard d'un élément Web avant l'action réelle. Vérifiez comme si l'élément est affiché et activé. Je veux séparer les deux vérifications parce que je veux une raison spécifique pour laquelle il échoue. Je sens que le code ci-dessous est trop long.

Toute suggestion serait appréciée. xxx


0 commentaires

3 Réponses :


0
votes

Votre meilleur plan d'action ici sera de les séparer dans leurs propres petites fonctions et de retourner Boolean. Comme xxx

mais je suggérerai également d'appeler iselementdisplayed après que MOVEToElement est effectué car certains navigateurs considèrent différemment de moyens "affichés".

Vous pouvez également utiliser Essayez de voir pour enregistrer les exceptions par fonction.


1 commentaires

Merci @naven, avec votre commentaire, j'ai raccourcir mon code un peu!



0
votes
        Boolean isActionSuccess = false; 
        CommonFunctions.silentWait(1);
        actionToE.moveToElement(currentObject).perform();

        if (CommonFunctions.isElementDisplayed(currentObject)) {
            if (CommonFunctions.isElementEnabled(currentObject)) {
                if (!actionPar.isEmpty()) {
                    // do something
                    }
                } else {
                    currentObject.sendKeys(Keys.ARROW_LEFT);
                    isActionSuccess = true;
                }

            }
        }

0 commentaires

0
votes

En utilisant Sélénium pour exécuter le < a href = "https://stackoverflow.com/questions/54932415/what-can-developers-do-to-assist-in-automation-testing/54940260#54940260"> Tests automatisés vous don 't besoin de toute sorte de vérification standard supplémentaire d'un élément Web avant l'action réelle . Pour l'enregistrement, chaque ligne de code supplémentaire induira des instructions supplémentaires et des cycles d'instructions. Au lieu de cela, vous devez Optimiser votre code / programme.

Si votre usecase est d'invoquer < Code> Cliquez sur () ou SENDOYES () Vous n'avez pas besoin d'appeler ISDisplayed () ou isenabled () séparément pour vérifier. Au lieu de cela, vous devez attendre une période de temps prédéfinie (selon la spécification de test ) en utilisant WebDriverwait Inconconcence avec attenduConditions .

Exemple:

  • présenceOfelemated () est une attente de vérification d'un élément présenté sur le DOM d'une page. Cela ne signifie pas nécessairement que l'élément est visible. XXX

  • visibilitéOplocatedLocated () est une attente de vérifier qu'un élément est présent sur le DOM d'une page et visible . La visibilité signifie que l'élément est non seulement affiché mais a également une hauteur et une largeur supérieures à 0. XXX

  • ellementTobeclickable () est une attente de contrôle d'un élément est visible et activé de telle sorte que vous puissiez cliquer dessus. XXX


2 commentaires

Salut @ Debanjanb, je comprends de l'endroit où vous venez, mais je crée mon propre cadre (mot-clé et daté de données combinés) et votre suggestion ne s'applique pas. Je veux juste une suggestion de raccourcir mon code qui effectuera la même action.


@ Luvs1015 Où puis que je suis d'accord avec votre propre cadre (mot-clé et datées de données combinés, ce que j'ai suggéré dans ma réponse sont les meilleures pratiques tout en conservant l'optimisation de code qui peut être utile aux futurs lecteurs.