数据驱动方法
最好的解决方案是把数据从脚本分离开来。数据驱动测试指的是脚本从外部存储点读入数据,例如,从一个文件或数据库,而不是使用硬编码的数据值。这样的分离会使测试逻辑更加简单。硬编码数据值会使脚本维护和修改更加困难。例如,如果你想要更多的输入数据,你就必须修改脚本代码。
数据驱动方法的步骤
通常,外部存储的数据会包括输入数据和验证数据。数据驱动方法的测试步骤包括下面操作的循环执行:
1、 从存储点读入数据
2、 在软件窗体上输入数据
3、 检验结果
4、 用下一项数据继续执行
第一步:读入数据
TC提供很多内建的方法来支持数据驱动,从文本文件、Excel表、数据库等地方读入数据。
GetCSVCount和GetCSVItem用于处理CSV文件存储的数据。TC还提供DDT对象用于数据访问驱动,从Excel表格、数据库和CSV文件获取数据。DDT包括ADODriver、CSVDriver、ExcelDriver。
下面脚本建立一个ExcelDriver从MyFile.xls中读入Sheet1表格,然后用EOF和Next方法遍历整张表格,最后用CloseDriver方法关闭Excel驱动。
procedure TestDriver;
var
Driver : OleVariant;
begin
// Creates the driver
Driver := DDT.ExcelDriver('C:\MyFile.xls', 'Sheet1');
// Iterates through records
RecNo := 0;
while not Driver.EOF do
begin
ProcessData; // Processes data
Driver.Next; // Goes to the next record
end;
// Closing the driver
DDT.CloseDriver(Driver.Name);
end;
第二步:利用数据
获取数据后,就可以在界面上输入这些数据,可以通过模拟键盘输入,或者给控件的属性赋值,从而模拟用户的数据输入。例如,下面脚本给窗体的Caption属性赋值:
w := p.Window('MainForm', '', 1);
SetValue(w, 'Caption', 'New Caption');
第三步:检查结果
最简单的检查结果是否正确的方式是把要检查的值也和输入数据存储在一起,然后读入检查的值,与真正的输出值进行比较。
如果输出的是文件或图像,可以使用TC提供的文件和图像比较方法来进行比较。参考《TestComplete的Stores对象》。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/