Захват полей формы и заполнение формы ими - PullRequest
0 голосов
/ 20 мая 2010

В настоящее время я тестирую большую веб-форму и хотел бы иметь возможность легко заполнять форму несколькими различными партиями тестовых данных, не вводя их каждый раз.

Существует ли общий способ захвата входных данных формы на веб-странице и их повторного заполнения при другой загрузке страницы? Я думал, что такой инструмент, как greasemonkey, может сделать что-то вроде этого.

Ответы [ 3 ]

2 голосов
/ 20 мая 2010

Задача, которую вы описываете, идеально подходит для автоматизированного инструмента тестирования, такого как Selenium .

Selenium - это набор инструментов для автоматизации тестирования веб-приложений на многих платформах.

1 голос
/ 20 мая 2010

Если все поля имеют правильные идентификаторы, то вы можете использовать что-то вроде этого:

//set the data 
var data = {
    field1 : "valueforfield1",
    field2 : "valueforfield2",
    ....
};

//populate the form
for (var prop in data) {
    if (data.hasOwnProperty(prop)){[
        var el = document.getElementById("el");
        if (el) {
            el.value = data[prop]; 
        }
    }
}

Если у них нет идентификаторов или вы предпочитаете использовать имена, вы можете сделать это

var form = document.forms.formname;
var inputs = form.getElementsByTagName("input");
var selects = form.getElementsByTagName("select");
​var all = Array.prototype.concat.call(inputs, selects), i = all.length;

while (i--){
    var el = all[i];
    if (el.name) && el.name in data){
         el.value = data[el.name];
    }
}
0 голосов
/ 23 мая 2010

Спасибо за ответы. Я решил использовать плагин для браузера imacros, так как мне показалось, что он лучше всего подходит для моей проблемы в этом случае.

...