6.3 把进度信息记录在测试套件界面上
问题
如何显示自动化测试套件的进度信息。
设计
用JavaScript写一个辅助函数logRemark(),这个函数通过IE DOM的value属性来设置HTML<textarea>元素“comments”的值。
方案
function logRemark(comment)
{
var currComment = document.all["comments"].value;
var newComment = currComment + "\n" + comment;
document.all["comments"].value = newComment;
} // logRemark()
注解
尽管任何测试场景的目的都是为了产生pass或者fail的结果,但是如果可以显示自动化测试的进度信息,还是会对我们有更大的帮助。这些信息可以帮助我们诊断一些不可避免的问题,有时候还可以找出一些待测程序的bug。logRemark()函数非常简单,它接受一个comment输入参数作为待记录的信息。请注意,JavaScript是一种非类型化的(nontyped)语言,所以不用指定comment参数具体是什么数据类型。这个函数首先通过value属性和document.all结合读出“comments”的现有内容。关于“comments”这个HTML<textarea>元素,其定义请参见6.2节。接下来,该函数会使用JavaScript的字符串“+”操作符,在现有comments的内容后面加上一个换行符,然后再加上新的输入参数的内容。最后,logRemark()函数用更新过的值来替换掉旧的comments所包含的内容。
有了这个辅助函数,我们可以通过在测试场景运行的时候,显示不同的消息来提高测试套件输出信息的可读性和透明性。例如:
logRemark("Starting test automation");
logRemark("About to set TextBoxes to '7' and '5'");







