zzz821 发表于 2004-11-6 20:24:43

请教PCL2004_07版主

请问rational robot有没有通过网络UDP协议发送DATAPOOL中数据的功能,若有,能否举例说明一下!
另外,我上次问的如何生成HDLC数据的问题,您说要写个函数,请问您能否举个例子写一个类似的函数让在下学习借鉴一下,谢谢您!

pcl2004_27 发表于 2004-11-6 20:50:25

Rational Robot是个功能测试工具你这里提到的已经超出了测试脚本开发的范围。
如果从实现来看有发送方就应该有接收方,接收方应该有接收处理数据的能力。如果光从脚本上实现,你需要互动,那么就要分配两套脚本在不同的机器上,而网络编程中需要先建立连接(握手),然后一方监听端口接收数据,如果从这个看实现起来很麻烦。

如果你的目的是数据实时有两种方法:
1.实现一个小程序,来进行传输datapool的功能,datapool其实就是个txt文件,你只要接收方把这个文件拷贝到相应的rational工程文件中,提供给robot使用就可以了。
2.工程文件共享加分布式实现
   也就是建立一个具有unc目录的工程文件,然后建立function suite,设置好两边脚本运行的顺序,那么也可以达到你的目的

具体的例子就没有了,不过上边的两种方法可以实现你的要求!

pcl2004_27 发表于 2004-11-6 21:33:12

我上次问的如何生成HDLC数据的问题,您说要写个函数,请问您能否举个例子写一个类似的函数让在下学习借鉴一下(你的问题:是其中有一位数据必须要根据他后面的数据位中的数据长度来确定,数据位的长度为6,那么这个字段就填6)

这个问题,我对hdlc数据协议不熟悉,不过看到你要求我觉得可以实现!
这里我简单实现一个函数,生成数据的函数!

脚本如下:
Sub main ()
Dim i As Integer
Dim strL As String
i = 10
strL = StrRan(i)
Stop
End Sub

Function StrRan(ByVal maxLen) As String
    Dim strNewPass As String
    Dim whatsNext As Integer
    Dim upper As Integer
    Dim lower As Integer
    Dim intCounter As Integer
   
    Randomize

    For intCounter = 1 To maxLen
      whatsNext = Int((1 - 0 + 1) * Rnd + 0)
      If whatsNext = 0 Then
            upper = 90
            lower = 65
      Else
            upper = 57
            lower = 48
      End If
      strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd + lower))
    Next
    ‘最后一位我加了一,生成的数据是总数位数
    StrRan = strNewPass + CStr(maxLen + 1)
   
End Function

pcl2004_27 发表于 2004-11-6 21:43:53

剩下的是研究数据池到底是什么了,数据池是按照一定顺序排列的文本文件(txt),你可以看我写的datapool的介绍和使用,里边有数据池的介绍

下边就是写入数据

我们知道robot写入文本文件的操作用open file语句,剩下的工作是你把生成的数据写入datapool,然后提供给robot自己用就可以了

zzz821 发表于 2004-11-8 12:31:21

斑竹,真是谢谢您了。我会按照你说的去做,要是有问题的话还要在请教您。此致!军礼!
页: [1]
查看完整版本: 请教PCL2004_07版主