Как я могу перебирать тестовые данные с помощью webdriverio с мокко?

У меня есть тестовые данные на основе JSON, как я могу перебрать эти тестовые данные для запуска теста для каждого объекта cred?

cred: {
        nameValue: 'ant',
        emailValue: '[email protected]',
        passwordValue: 'ant',
    },
cred: {
        nameValue: 'bat',
        emailValue: '[email protected]',
        passwordValue: 'bat',
     },

person Biswajeet gope    schedule 21.05.2019    source источник


Ответы (1)


ваш файл JSON с тестовыми данными должен быть таким,

[
       {
        "nameValue": "ant",
        "emailValue": "[email protected]",
        "passwordValue": "ant"
    },
     {
        "nameValue": "bat",
        "emailValue": "[email protected]",
        "passwordValue": "bat"
     } 
]

Теперь вы можете получить к ним доступ по индексу (как в массиве)

        const testDataObject = require("path to testData json");

             // to loop on all elements
             testDataObject.forEach(function(element) {
                it(' test case  def ', function() {
                     console.log("nameValue "+ element['nameValue']+ "emailValue 
             "+element['emailValue'] + "passwordValue "+element[passwordValue]); 
                });
            });

          // to select any particular index
         it(' test case  def ', function() {
                 console.log("nameValue "+ testDataObject[1]['nameValue']+ "emailValue 
  "+testDataObject[1]['emailValue'] + "passwordValue "+testDataObject[1][passwordValue]); 
            });
        });

И назовите свое имя файла testData как Credentials_Valid.json (лучшая практика)

или вы можете сделать так

    {
    "cred1":
    {
       "nameValue": "ant",
        "emailValue": "[email protected]",
        "passwordValue": "ant",
    },
    "cred2":
    {
        "nameValue": "bat",
        "emailValue": "[email protected]",
        "passwordValue": "bat",
    }     
}

и получить доступ к тестовым данным в коде nodejs с помощью

console.log( `${testDataObject['cred1']["nameValue"]}` );
console.log( `${testDataObject['cred1']["emailValue"]}` );
console.log( `${testDataObject['cred1']["passwordValue"]}` );
person Chandra Shekhar    schedule 12.06.2019