QTP自动化测试框架:第四章 主要方法介绍(action部分,作为驱动)

后续将主要介绍一些此次框架中用的主要方法

  先来看一下aciton中的整体内容

  

 

 1. 引用外部DLL来读取INI文件,这里分为读和写两个

   

   '//refer external dll to read and write ini file

   '第一个是用来读取INI的,方法名为 GetPrivateProfileInt,具体的可查看帮助文件,在这个地方要注意参数个数以及当读的时候是需要返回值的,所以最后是 micString+micByRef,而写的时候则不需要

Extern.Declare micInteger,"GetPrivateProfileInt", "kernel32.dll","GetPrivateProfileInt", micString,micString,micInteger,micString+micByRef

写入INI文件
Extern.Declare micLong,"WritePrivateProfileString", "kernel32.dll","WritePrivateProfileString", micString,micString,micString,micString

    以下是具体调用地方

    初始化过程中读取INI文件中的参数

   

'调用方法
Sub InitializeTestParameter()
   RestartRunIndicator=Cint(ReadIniFile("RunScenario","RestartRun",InitialFilePath))
   If RestartRunIndicator=0 Then    '0 present current test run normally,if 1 represent current test has been restarted
   InitialIterator=Cint(ReadIniFile("InitialParameter","InitialIterator",InitialFilePath))
   InitialTestCaseNo=Cint(ReadIniFile("InitialParameter","InitialTestCaseNo",InitialFilePath))
   Environment("DefinedTestIteration")=Cint(ReadIniFile("InitialParameter","Environment(""DefinedTestIteration"")",InitialFilePath))
   Environment("DefinedActionIteration")=Cint(ReadIniFile("InitialParameter","Environment(""DefinedActionIteration"")",InitialFilePath))
   else
   InitialIterator=Cint(ReadIniFile("RecoveryParameter","InitialIterator",InitialFilePath))
   InitialTestCaseNo=Cint(ReadIniFile("RecoveryParameter","InitialTestCaseNo",InitialFilePath))
   Environment("DefinedTestIteration")=Cint(ReadIniFile("RecoveryParameter","Environment(""DefinedTestIteration"")",InitialFilePath))
   Environment("DefinedActionIteration")=Cint(ReadIniFile("RecoveryParameter","Environment(""DefinedActionIteration"")",InitialFilePath))
   End If
End Sub

   写的时候非常简单
  

Function WriteIniFile(SectionName,KeyName,KeyVlaue,InitialPath)
	     Extern.WritePrivateProfileString SectionName,KeyName,KeyVlaue,InitialPath
            ‘分别指定section ,Key也就是参数名和具体参数,以及文件路径即可
End Function

读的时候需要多一步

   

Function ReadIniFile(SectionName,KeyName,InitialFilePath)
       
ReadIniFile=Extern.GetPrivateProfileInt(SectionName,KeyName,1000,InitialFilePath)
'1000 just use to distinguish an exception when required key or section not found.
’这个地方需要注意当要读取的参数名不存在的时候,会返回一个值1000.用来区分读取失败。出现这种情况通常是配置存在问题,所以直接结束action,弹出提示,不再向下继续执行
If CLng(ReadIniFile)=1000 Then  
Reporter.ReportEvent micFail,"ReadIniFile","KeyName : "+KeyName + "in Section "+SectionName+"in fILE: "+InitialFilePath+"Not Found"
End Function
Msgbox "Section or KeyName not found"
ExitAction()
End If

 
 

猜你喜欢

转载自543827357.iteye.com/blog/2033057
今日推荐