《软件自动化测试成功之道》节选10 - 数据库连接配置问题
http://www.china-pub.com/196509
一般涉及到数据库的软件系统都需要配置数据库连接串,在编写这部分的测试脚本时,我们可以采用多种方法来配置数据库连接,例如:通过数据库连接配置界面的操作来修改数据库连接;或者是读入被测试程序中所包含的配置文件,修改数据库连接串;如果被测试程序将数据库连接串配置在注册表中,则需要通过修改注册表来修改数据库连接配置。
(1)通过数据库连接配置界面的操作来修改数据库连接。这种方法是直接操作被测试程序所提供的数据库连接串配置界面,先执行删除所有连接的功能,然后执行添加数据库连接的功能,指定测试需要的数据库连接串,最后执行激活连接的功能。
Procedure ConfigDBConnection;
Var DataGridView:OleVariant;
Begin
// 先删除所有连接
DeleteDBConnection;
// 添加一个连接
AddDBConnection;
// 激活该连接
DataGridView:=Sys.Process(‘App’).WinFormsObject(‘SqlConnectionConfigForm’).WinFormsObject(‘DBBase’);
DataGridView.DataGridRows.System_Collections_IList_Item[0].Selected := True;
DataGridView.set_CurrentRow(0);
DataGridView.set_Item_2(0,1,True);
DataGridView.Click();
End;
删除所有连接的函数如下所示:
Procedure DeleteDBConnection;
Var p1 :OleVariant;
Var w1 :OleVariant;
Var w2 :OleVariant;
Var DataGridView,ItemCount,I :OleVariant;
Begin
DataGridView:=Sys.Process(‘App’).WinFormsObject(‘SqlConnectionConfigForm’).WinFormsObject(‘DBBase’);
ItemCount := DataGridView.DataGridRows.Length;
Log.Message(‘Delete ’ + VarToStr(ItemCount) + ‘ Row’);
For I:=0 to ItemCount -1 do
Begin
p1 := Sys.Process(‘App’);
w1 := p1.SqlConnectionConfigForm.WinFormsObject(‘panel1’).tabControl1;
w1.ClickTab(‘数据库连接字符串’);
w2 := w1.tbpConnectstring.panel2.rcmToolBar1;
w2.ClickItem(‘删除’, false);
p1.Window(‘#32770’ , ’确认’).Window(‘Button’ , ‘是(&Y)’).ClickButton;
End;
End;
添加一个连接的函数如下所示:
Procedure AddDBConnection;
Var w1: OleVariant;
Var w2: OleVariant;
Var w3: OleVariant;
Var w4: OleVariant;
Begin
w1:=Sys.Process(‘App’).SqlConnectionConfigForm.WinFormsObject(‘panel1’).tabControl1;
w1.ClickTab(‘数据库连接字符串’);
w2 := w1.tbpConnectstring;
w1 := w2.panel2;
w1.ToolBar1.ClickItem(‘新增’, false);
w3 := w2.plRight;
w2 := w3.plDetail;
w4 := w2.tbName;
// 输入连接名
w4.keys(‘DBConnection1’);
w4 := w2.tbDB;
// 输入数据库名
w4.Keys(‘TestDB’);
w4 := w2.tbIP;
// 输入数据库所在IP地址
w4.Keys(‘192.168.100.11’);
w4 := w2.tbUser;
// 输入用户名
w4.Keys(‘sa’);
w4:= w2.tbPassword;
// 输入密码
w4.Keys(‘123’);
w3.ToolBar1.Click(‘保存’, false);
End;
(2)读入配置文件,修改数据库连接串。这种方式适合于被测试程序的执行目录中包含一个配置文件的情况。例如下面的ChangeDBConfig函数读入配置文件,找到其中包含数据库连接串的地方,并将其替换成测试需要连接的数据库的连接串。
Function ChangeDBConfig(AFileName,ReplaceString);
Var FileVar,s,aSubString,findpos,Dic,I : OleVariant;
Begin
AssignFile(FileVar,AFileName);
Reset(FileVar);
Dic := Sys.OleObject(‘Scripting.Dictionary’);
I:=0;
While not Eof(FileVar) do
Begin
Readln(FileVar ,s);
aSubstring := ‘<add name=”DBConnectionString”’;
findpos := Pos(aSubString ,s);
If findpos <> 0 then
Begin
Log.Message(‘替换数据库连接串’);
s := ReplaceString;
End;
Dic.Add(I , s);
I:=I+1;
End;
Rewrite(FileVar);
For I:=0 to Dic.Count -1 do
Begin
WriteLn(FileVar ,VarToStr(Dic.Item(I)));
End;
CloseFile(FileVar);
End;
(3)通过修改注册表来修改数据库连接配置。这种方法适合于那些将数据库连接串存储在注册表的被测试程序。
......
《软件自动化测试成功之道》节选10 - 数据库连接配置问题
http://www.china-pub.com/196509