现在的位置: 首页 > 综合 > 正文

《软件自动化测试成功之道》节选10 – 数据库连接配置问题

2013年08月29日 ⁄ 综合 ⁄ 共 2702字 ⁄ 字号 评论关闭

《软件自动化测试成功之道》节选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

 

抱歉!评论已关闭.