[-] property chbActive [-] window get() [-] if(this.ComboBox("Active|#3").Exists()) [ ] return this.ComboBox("Active|#3") [-] if(this.CustomWin("[HCustomControl]#1").CustomWin("[HyFramedForm]Black Oil Transition|$0").CheckBox("Active|#3").Exists()) [ ] return this.CustomWin("[HCustomControl]#1").CustomWin("[HyFramedForm]Black Oil Transition|$0").CheckBox("Active|#3") |
testcase test01() NotePad.invoke() NotePad.SetActive() sleep(3) NotePad.kill() // When close() method fails. |
Causes SilkTest to reexamine the currently loaded page (BrowserChild) and get any new items as they are generated, such as popup menus. This method is very useful when you are recording dynamic objects that may not initially appear. This is available with the DOM extension only.
4. silktest 中调用 cmd 对话框(调用commandline 对话框)方法,不分操作系统都可以使用。
use "bwcompat.inc"
[-] void Hysys_RunCommondLineFromCmd(String sCmdL) |
[-] testcase temp() [ ] real rTemp=1.8213542235123212 [ ] integer iTempValue=[int]rTemp [ ] real rTempFraction=rTemp-iTempValue [ ] [ ] Print(iTempValue) [ ] Print(rTempFraction) |
with MainWin("Draw Prog*").ChildWin("c:\pix\pic2.bmp") |
[-] testcase Temp_ArgListCall() [ ] [-] list of INTEGER lstemp={...} [ ] 3 [ ] 4 [ ] [ ] integer iReturn [ ] iReturn=ArgListCall("min",lstemp) [ ] [ ] Print(iReturn) |
[-] testcase test01() [ ] [-] List of list of anytype tt={...} [ ] {"dog","19"} [ ] {"cat", "20"} [ ] {"pig", "31"} [ ] Print(ListCount(tt)) [ ] Print(tt[1,1]) |
[-] void VerifyDirFileTypeNumbers(String sFolderPath,String sFileType,integer iNumbers) [ ] // Veirfy the files numbers of specified type exists in the direcctory [-] if(!SYS_DirExists(sFolderPath)) [ ] RaiseError(13,"Directory: {sFolderPath} does not exists") [ ] List of FILEINFO lsTotal=SYS_GetDirContents(sFolderPath) [ ] int i,iN [ ] iN=ListCount(lsTotal) [ ] String a [ ] List of string lsFiles={} [-] for i=1 to iN [ ] a=lsTotal[i].sName [+] if(Right(a,Len(sFileType))==sFileType) [ ] ListAppend(lsFiles,a) [ ] //Print(a) [ ] int iActualNumbers=ListCount(lsFiles) [-] if(iActualNumbers==iNumbers) [ ] Log.Pass("The total numbers of .{sFileType} files equal to {iNumbers}.") [-] else [ ] Log.Error("The total numbers of .{sFileType} files does not equal to {iNumbers}, it is: {iActualNumbers}") |
[-] Boolean WaitForEnabled(window wObject) [ ] integer iTimeOut = iTimeLimit [ ] integer iTimeRetry = Agent.GetOption(OPT_WINDOW_RETRY) [ ] integer iTime = 0 [ ] Boolean bEnable = False [ ] [-] while( iTime<iTimeOut && !wObject.IsEnabled() ) [ ] sleep(iTimeRetry) [ ] iTime = iTime + iTimeRetry [ ] [ ] [ ] bEnable = wObject.IsEnabled() [ ] [ ] return ( bEnable ) |
Setting this option to FALSE suppresses "control not responding" errors.
13. 等待鼠标状态。
[-] void WaitForMouseIdle(integer iTimeOut) [ ] integer iTime=1 [-] while(Cursor.GetType()=="WAIT" || Cursor.GetType()=="DELAY" && iTime < iTimeOut) [ ] sleep(1) [ ] iTime = iTime+5 [-] if(iTime > iTimeOut) [ ] Log.Fail("Cursor status is not idle in {iTimeOut} seconds") [ ] sleep(5) |
14. 使用 ListRead()从一个文本中读取list变量,是一种数据驱动的好办法。
List of string lsFileContents
ListRead(lsFileContents,"C:\test.txt")
ListPrint(lsFileContents)
ListInsert (lsFile, i, lsNewInfo[i])
ListWrite (lsFile, "{GetProgramDir ()}\Sample.txt")
15. silktest 中使用递归实现清空文件夹内容方法:
[+] void glClearFolder(String filepath) [+] //---------------------Log---------------------// [ ] // Author : Cheers Li [ ] // Date : 2009-09-15 [ ] //-----------------------------------------------// [ ] filepath=Trim(filepath) [+] if(SubStr(filepath,Len(filepath),1)=="") [ ] filepath=SubStr(filepath,1,Len(filepath)-1) [+] else [ ] filepath=SubStr(filepath,1,Len(filepath)) [ ] String tempfilepath [ ] String tmDir [+] if(!SYS_DirExists(filepath)) [ ] RaiseError(13,"The path : {filepath} does not exists! ") [ ] List of FILEINFO fFileContents=SYS_GetDirContents(filepath) [-] FILEINFO item [-] for each item in fFileContents [ ] tempfilepath="{filepath}"+item.sName [-] if(item.bIsDir) [-] if(ListCount(SYS_GetDirContents(tempfilepath))==0) [ ] SYS_RemoveDir(tempfilepath) [-] else [ ] glClearFolder(tempfilepath) [ ] SYS_RemoveDir(tempfilepath) [-] else [ ] SYS_RemoveFile(tempfilepath) |
16. Silktest 将 字符串转换成List of String 的方法
List of STRING lsConvertLineToList(String sLinfOfText) //--------------------------------------Log--------------------------------- // Author : Cheers Li September 24, 2010 // Description: This function is for getting Strings of line, and convert it to a list. [ ] String sTest=trim(sLinfOfText) [ ] long ltemp [ ] integer i,k=0 [ ] boolean blTemp [ ] List of STRING lsTestString [ ] ltemp=len(sTest) [ ] [+] for(i=1;i<=ltemp;i++) [-] if(IsSpace(substr(sTest,i,1))==false) [ ] k++ [ ] blTemp=false [-] else [-] if(blTemp==false) [ ] ListAppend(lsTestString,substr(sTest,i-k,k)) [ ] blTemp=true [ ] k=0 [ ] ListAppend(lsTestString,substr(sTest,i-k,k)) [ ] [ ] return lsTestString |
17. 通过api sendmessage()来关闭窗口。
[ ] use "msw32.inc" [-] testcase testmenu() appstate none [ ] wRefSYSMain.Invoke() [ ] wRefSYSMain.SetActive() [ ] SendMessage(wRefSYSMain.hWnd,WM_CLOSE,0,0) |