51Testing软件测试论坛

标题: vbscript vuser脚本如何参数化 [打印本页]

作者: hlw1013    时间: 2008-6-25 14:25
标题: vbscript vuser脚本如何参数化
使用vbscript协议录制的脚本,该如何实现参数化呢?
~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub CreateMsiFile()
   Dim fso, tf, f2, ts, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   for i=1 to 2
   Set tf = fso.CreateTextFile("C:\test RIS\MSI_IN\SC_IP_"&i&".msi", True)
   ' Write a line with a newline character.
   tf.WriteLine("MESSAGE_ID<SC_IP_"&i&">")
   tf.WriteLine("MESSAGE_TYPE<ORM>")
   tf.WriteLine("EVENT_TYPE<O01>")
   tf.WriteLine("ORDER_CONTROL_ORC<SC>")
   tf.WriteLine("PLACER_ORDER_NUMBER_ORC<3000000001>")
   tf.WriteLine("FILLER_ORDER_NUMBER_ORC<436762>")
   tf.WriteLine("ORDER_STATUS_ORC<IP>")
   tf.WriteLine("VERIFIED_BY_ORC<zhanghonghui>")
   tf.WriteLine("VERIFIED_BY_ID_ORC<zhanghonghui>")
   tf.WriteLine("PATIENT_ID<1000000001>")
   tf.WriteLine("PATIENT_CLASS<I>")
   tf.WriteLine("VISIT_NUMBER<2000000001>")
   tf.WriteLine("PATIENT_NAME_I<&sup1;&Ucirc;&Ograve;&ocirc;&AElig;&ETH;&Egrave;&oslash;>")
   tf.WriteLine("PATIENT_NAME_S<guanyinpusha>")
   tf.WriteLine(a)
   next

End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面是自己写的一个vbscript函数,在Generator中可以运行,但一旦对脚本里面的数值进行了参数化(比如将("PATIENT_ID<1000000001>")中的1000000001参数化)
运行脚本的时候提示Error: Error : vuser_init.vbs (18) : column 4 :  Object required: 'lr' , err # = 424
实际上vuser_init.vbs 中并没有包含任何脚本啊,不参数化的时候运行正常。
作者: zhangyan8212    时间: 2008-6-25 15:32
问一下怎么样能在vbscript协议下录制脚本?
作者: hlw1013    时间: 2008-6-25 16:01
查看了帮助后问题解决了
格式如下:
~~~~~~~~~~~~~~~~~~~~~~
Public Function Action()

   
   Dim fso, tf, f2, ts, s
   Set fso = CreateObject("Scripting.FileSystemObject")

   Set tf = fso.CreateTextFile("C:\test RIS\MSI_IN\SC_IP_" + lr.eval_string("<order_number>") + ".msi", True)
   ' Write a line with a newline character.
   tf.WriteLine("MESSAGE_ID<SC_IP_" + lr.eval_string("<order_number>") +">")
   tf.WriteLine("MESSAGE_TYPE<ORM>")
   tf.WriteLine("EVENT_TYPE<O01>")
   tf.WriteLine("ORDER_CONTROL_ORC<SC>")
   tf.WriteLine("PLACER_ORDER_NUMBER_ORC<30000001>")
   tf.WriteLine("FILLER_ORDER_NUMBER_ORC<436762>")
   tf.WriteLine("ORDER_STATUS_ORC<IP>")
   tf.WriteLine("VERIFIED_BY_ORC<zhanghonghui>")
   tf.WriteLine("VERIFIED_BY_ID_ORC<zhanghonghui>")
   tf.WriteLine("PATIENT_ID<1000000001>")
   tf.WriteLine("PATIENT_CLASS<I>")
   tf.WriteLine("VISIT_NUMBER<2000000001>")
   tf.WriteLine("PATIENT_NAME_I<观音菩萨>")
   tf.WriteLine("PATIENT_NAME_S<guanyinpusha>")
   tf.WriteLine(lr.eval_string("<order_number>"))



End Function
~~~~~~~~~~~~~~~~~~~~~
其中“order_number”为参数
应该注意的是要用“+”号与常量连接
作者: hlw1013    时间: 2008-6-25 16:05
标题: 回复 2# 的帖子
应该是没办法通过界面录制的,要自己动手写脚本




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2