针对表单密集型Web应用程序的设计测试

时间:2013-08-14 19:56:40

标签: javascript testing

我正在设计一个Web应用程序,它可以向用户显示任意一系列表单(本质上是调查)。这是一个全页面样式的应用程序,因此所有脚本都是在javascript中。我希望能够通过自动抓取<select><input type="radio">等字段来测试潜在值并随机选择一个表格来测试给定的一组表格,而不知道提前有哪些有效值。有没有有用的脚本可以做到这一点?

更准确地说,给定一个(事先未知,任意,包含任何类型的字段)形式:

<form id="myForm">
  <input type="radio" name="myRadio" value="1">
  <input type="radio" name="myRadio" value="2">
  <select name="mySelect">
    <option value="a">
    <option value="b">
  </select>
  <input type="text" name="myText">
</form>

我希望能够做到这一点:

possibilities = scanForm('myForm');

得到这个:

{
    myRadio: ["1", "2"],
    mySelect: ["a", "b"],
    myText: []
} 

我知道我可以自己编写这些内容,但是处理所有边缘情况(<select multiple>?)和浏览器测试会很麻烦,如果已经存在,那就没必要了。

另请注意,像Selenium或iMacros这样的东西没用,因为这完全是客户端和程序化的。 GUI,浏览器插件和服务器端语言都不起作用。

我也欢迎评论这个想法是否有点误解。

1 个答案:

答案 0 :(得分:0)

你可以做点像......

var inputs = document.getElementById('myForm').getElementsByTagName('input');
var myText = Array();

for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].type == "text") {
        myText.push(inputs[i].value);
    } else if (inputs[i].type == "radio") [
        // push inputs[i].value onto your myRadio array
    } else {
        // other cases
    }
}
// handle selects.. textareas