Création d'un code JavaScript personnalisé dans un test d'interface Web

Vous pouvez utiliser l'option Code personnalisé JavaScript pour créer votre propre code et l'ajouter en tant qu'étape au test d'interface Web.
Cet exemple vous montre comment créer votre propre code JavaScript et l'ajouter en tant qu'étape au test d'interface Web. Il s'agit d'un scénario de base de création d'un code JavaScript personnalisé pour un formulaire de connexion simple. Vous pouvez créer votre propre code JavaScript en fonction de vos besoins.
Le formulaire de connexion comprend deux champs nommés Nom d'utilisateur et Mot de passe.

Login form

Premièrement, vous devez ajouter un fichier JavaScript au projet d'interface Web et y saisir le code. Reportez-vous à l'exemple de code créé pour le formulaire de connexion simple.

//Simple JS function to fill up login page data
function simpleUserLogin(){

    console.log("Signing In...");
    //Click At User Name Edit Box
    document.getElementById("uname").click();
    
    //Enter the UserName
    document.getElementsByName("username")[0].value="billy";
    
    //Click on Password Field and Enter the password
    document.getElementsByClassName("form-control-passwd")[1].click();
    document.getElementById("password").value="Cuper@tino";

    //Click on Login button
    document.getElementsByTagName("input")[3].click();
}
Remarque : JavaScript vous propose un ensemble de bibliothèques permettant d'interagir avec les commandes DOM. Vous pouvez utiliser ces bibliothèques pour gérer les paramètres des interfaces utilisateur, des navigateurs et des documents. Pour en savoir plus sur les références des codes JavaScript, voir https://developer.mozilla.org/en-US/docs/Web/JavaScript.

Dans le projet d'interface Web, vous pouvez mettre à jour les détails du fichier JavaScript que vous avez créé. Vous devez indiquer un nom de méthode et mettre à jour le fichier JavaScript comme le montre l'image suivante.

Ajout d'un code JavaScript au test d'interface Web

Dans l'exemple de code ci-dessus, les valeurs d'entrée telles que le nom d'utilisateur et le mot de passe sont déjà codées en dur. Néanmoins, si vous voulez transférer les valeurs d'entrée du test d'interface Web vers le code JavaScript pour lequel vous souhaitez obtenir des valeurs de retour, vous devez créer un autre fichier JavaScript et appeler la méthode dans l'étape Code personnalisé (voir l'image ci-dessous).

Valeurs d'entrée du test d'interface Web

Il s'agit de l'exemple de code permettant de définir la méthode capable d'accepter les valeurs de l'interface Web et les valeurs de retour.

//username and password are being passed from the JS Custom Code step in Web UI Test & some value is being returned which would be stored in the variable defined in JS Custom Code step
function userloginThroughArgsAndReturnSomeValue(username, password){

    var returnVar = "false";
    var userName = username; 
    var pwd = password;
    console.log("Waiting for the browser load...");
    //sample code - wait for document to load based on browserState
    var myVar = true;
    while(myVar === true){
        var browserState = document.readyState; 
        if(browserState.indexOf("complete") !== -1){
            myVar = false;
        }
    }
    
    console.log("Signing In...");
    //Enter the UserName
    document.querySelectorAll("*[name='username']")[0].click();
    document.querySelectorAll("*[id='uname']")[0].value = userName;
    
    //Enter the password
    document.querySelectorAll(".form-control-passwd")[1].click();
    document.getElementById("password").value=pwd;

    //Click on Login button
    var submitButtonOccurances = document.querySelectorAll("*[type='submit']").length;
    document.querySelectorAll("*[type='submit']")[0].click();

    //return some value which can be stored in a variable in JS Custom Code step in Web UI Test
    console.log("Returning some value...");
    
    if(submitButtonOccurances >= 1){
        returnVar = "true";
    }
    return returnVar;

}

En fonction de la valeur de retour, la condition IF sera exécutée.

Exécution d'une condition

Vos commentaires