Selenium测试用例优化建议

时间:2011-03-08 15:25:29

标签: javascript testing ide selenium automated-tests

我编写了一个比较两个数组的测试用例,删除匹配的元素并为不匹配的元素抛出一个execption。

它有效,但测试很大而且很乱。任何人都可以确定可以改进的领域.i.e优化?

System.out.println(globalArray);
String[] array = selenium.getAllFields();
System.out.println(array);
String length = selenium.getEval("storedVars.array.length");
System.out.println(length);
String  = selenium.getEval("storedVars.length--");
System.out.println(length);
String index1 = "-1";
// ////////
// selenium.label("loop1");
System.out.println(selenium.getEval("storedVars.index1<storedVars.array.length"));
// selenium.while("storedVars.index1<${length}");
String  = selenium.getEval("storedVars.index1++");
System.out.println("FORM ARRAY INDEX: " + index1);
String id = selenium.getEval("storedVars.array[storedVars.index1]");
System.out.println("MATCH: " + id);
// ////////
// selenium.label("loop2");
String index2 = "-1";
// selenium.while("storedVars.index2<storedVars.globalArray.length");
String  = selenium.getEval("storedVars.index2++");
System.out.println("GLOBAL ARRAY INDEX: " + index2);
String size = selenium.getEval("storedVars.globalArray.length");
String  = selenium.getEval("if (storedVars.id == storedVars.globalArray[storedVars.index2]){storedVars.globalArray.splice (storedVars.index2,1); }");
System.out.println("SIZE: " + globalArray);
// selenium.endWhile();
// ////////
// selenium.goto("loop1");
// selenium.endWhile();
// ////////
String length = selenium.getEval("storedVars.globalArray.length");
String  = selenium.getEval("storedVars.length--");
System.out.println(length);
String index3 = "-1";
// selenium.while("storedVars.index3<${length}");
String  = selenium.getEval("storedVars.index3++");
System.out.println(index3);
verifyEquals("All Fields Present", selenium.getExpression(selenium.getEval("if(storedVars.length == 0){storedVars.outcome='All Fields Present';} else {storedVars.outcome='Missing Field: ' + storedVars.globalArray[storedVars.index3];}")));
// selenium.endWhile();

如果代码太难以遵循请说,我会添加更好的评论

1 个答案:

答案 0 :(得分:0)

我是从Java角度来看这个,但在我看来,Selenium更适合自动化浏览器和最终用户回归类型测试。看起来您正在尝试将其用作单元测试框架。也许单元测试框架会是更好的选择吗?

从这个问题来看,看起来qunit是一个很好的起点:https://stackoverflow.com/questions/1692873/javascript-unit-testing-frameworks

  • 戴夫