手把手教你TestComplete_配置嵌入脚本

 

 

工作中遇到的一个场景;

 

先来看看文件内容:

 

全选√, 标题1,标题2,标题3,标题4,标题5,标题6,标题7

True,[zh]5682996,,,,,,,,,,,,

True,102591567375,,140.5,0,00,x

True,103746390600,,74.86,0,D01,y

 

 

需要进行预处理:

1.  只要第2行以后的内容,也就是第3、4行;

2.  只要第2、4、6、7列的内容;

3.  第6列需要进行处理,处理逻辑在这个文件来讲是确定的;

4.  如果换一个文件,读取的行列,需要处理的列的逻辑就无法确定了

 

 

分析:

如果只是读出指定的行列,这个不难,但是要对相应的列进行处理也不难,但是要把处理的逻辑也剥离出来,这种情况处理的比较少,其实也不难。

 

 

解决方法:

在VBS中有个函数叫做excute(“脚本”),可以直接执行vbs脚本的字符串,类似其他语言的eval。这个问题就简单了。

 

 

'处理文件,读出需要的行和列

 

Function FblndoFile(strIn,strRow,strCol,strD,strOut)

 

dim sFileCont

dim arrR

dim arrC

dim strRet

 

FblndoFile=False

 

'打开输入文件,读出内容到一个变量

 

  if not FblnFileExist(strIn) then

    Log.Warning(strIn & " 不存在")

    FblndoFile=False

    exit Function

  End If

 

  sFileCont=aqFile.ReadWholeTextFile(strIn,aqFile.ctUnicode)

 

  strRet=""

  arrPc=split(strCol,",")

  for i=clng(strRow)-1 to ubound(arrR)

    arrC=split(arrR(i),",")

    for j=0 to ubound(arrPc)

      Log.Message("strD:" & strD)

      Execute(strD)

      strRet=strRet & arrC(clng(arrPc(j))-1) & ","

    next

    strRet=left(strRet,len(strRet)-1) & vbcrlf

  next

 

  call aqFile.WriteToTextFile(strOut,strRet,aqFile.ctUnicode,False)

 

  FblndoFile=true

 

End Function

 

 

参考这个函数,就知道,行列包括预处理的逻辑都可以提前配置到文件里面了,看看调用方法:

 

strIn=Project.Path & "data\file2.txt"

strRow="3"

strCol="2,3,4,5,6,7,8,9,10,13,14"

strD=""

strOut=Project.Path & "data\file2.tmp.txt"

 

If FblndoFile(strIn,strRow,strCol,strD,strOut) then

   Showmessage("搞定!")

End if

 

 

小结:

 

逻辑放哪里一直是个问题,最初的时候放在代码里面,发现不方便配置;于是整理逻辑放进数据库,想改变就直接在数据库中进行配置;等用久了,发现数据库的配置越来越无法适应无穷复杂的业务逻辑,最后就会变得和我这个程序一样,写一个框架,把所有的逻辑扔到外面去,可以解决所有的业务逻辑配置问题,算是一个适应力非常强的解决方案了。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Testingba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值