《軟體自動化測試成功之道》節選10 - 資料庫連線配置問題

TIB發表於2010-05-14

《軟體自動化測試成功之道》節選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

 

相關文章