捕获表单字段并使用它们重新填充表单

时间:2010-05-20 04:21:17

标签: javascript testing greasemonkey

我目前正在测试一个大型Web表单,并且希望能够轻松地使用几个不同的测试数据填充表单,而无需每次都输入它们。

是否有一种通用的方法来捕获网页上的表单输入并让它们在不同的页面加载中重新填充?我认为像greasemonkey这样的工具可能会做这样的事情。

3 个答案:

答案 0 :(得分:2)

您所描述的任务非常适合自动化测试工具,例如Selenium

  

Selenium是一套工具,可以在许多平台上自动执行Web应用程序测试。

答案 1 :(得分:1)

如果所有字段都有正确的ID,那么您可以使用以下内容:

//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]; 
        }
    }
}

如果他们没有id,或者你更喜欢使用名字,那么你可以这样做

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];
    }
}

答案 2 :(得分:0)

感谢您的回答。我决定使用imacros浏览器插件,因为我认为它最适合我的问题。