ylm77ojn 发表于 2008-7-31 16:22:33

datatable中一行数据没办法新增,如何不利用这行数据,利用下行数据继续新增

'注册普通节点
Dim num,i
num=DataTable.GetSheet("Action2register").GetRowCount
fori =1 to num
wait(3)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("注册").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("code").Set DataTable("code", dtLocalSheet)
wait(2)

Dim con
Dim record, testcode

Set   con = createobject("adodb.connection")
con. open "DRIVER={Oracle in OraHome92};DSN=test;UID=U_ZNN;PWD=U_ZNN;DBQ=ORACLE_CFTEST;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;"
Setrecord = createobject("adodb.recordset")
sql="selectCODE from CS_WEBAPP_NODE"
record.open    sql, con
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("验证代码").Click
'在数据库中检查代码是否存在
testcode = DataTable("code",   "Action2register")
wait(2)
If ( Instr(1, record("code"), testcode, 1) > 0 )Then
       Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定_3").Click
          DataTable.GetSheet("Action2register").SetNextRow
          Dim code
          Dim j
          j=DataTable.GetCurrentRow
          code =DataTable.GetSheet("Action2register").GetParameter("code").ValueByRow(j)
   Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("code").Set code
else
    Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定_3").Click

End if

record.close
Set record=nothing
con.close
Set con = nothing

        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("name").Set DataTable("name", dtLocalSheet)
        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("description").Set DataTable("description", dtLocalSheet)
        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("vendor").Set DataTable("vendor", dtLocalSheet)

        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("indexURL").Set DataTable("indexURL", dtLocalSheet)
        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("appServer").Set DataTable("appServer", dtLocalSheet)
        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("dbServer").Set DataTable("dbServer", dtLocalSheet)

        Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("version").Set DataTable("version", dtLocalSheet)

        wait(2)
        Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定").Click
        wait(2)

        Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定").Click

DataTable.GetSheet("Action2register").SetNextRow
next

datatable如下:
code        name        description        vendor        appServer        dbServer        version        indexURL
code1        name1        des1        vendor1        server1        db1        vers1        URL1
code1        name1        11        11        11        111        11        11
code2        name2        des2        vendor2        server2        db2        vers2        URL2
code3        name3        des3        vendor3        server3        db3        vers3        URL3

代码主要作用是注册普通节点
code栏位输入后,点击验证代码,如果库里有这代码了的,弹出提示框,提示重复了的,如果没有这代码,提示这代码不存在
现在第一行数据,可以新增
但到第2行数据时,因为库里有了code1,点击验证代码,会出现提示框:该代码重复
我现在想做个判断,如果这代码不存在,那就利用这行数据,继续新增
如果这代码重复,我要让其跳到下一行,利用下一行数据,继续新增
现在我的代码主要问题是,判断重复后,code栏位应该set code2,可是这里却是空的,set不进去
另外,name,description还是set为name1,desc1,明显是第一行的数据

ylm77ojn 发表于 2008-7-31 17:03:01

这个问题在自动化测试中是很普遍的,
datatable中的一行数据不能新增,继续换下一行数据新增
请坛里的高手解答下

walker1020 发表于 2008-8-7 09:56:45

IfBrowser("***).Page("***").Dialog("***).ExistThen
   ......
Else
   ....
End If

ylm77ojn 发表于 2008-8-7 13:27:39

回复 3# 的帖子

Browser("Welcome to CuteFramework2008").Page("Welcome to CuteFramework2008").WebButton("登录").Click
Browser("Welcome to CuteFramework2008").Page("首页").WebElement("WebTable").Click
Browser("Welcome to CuteFramework2008").Page("首页").Link("系统节点维护").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("注册").Click
Dim CountNum
CountNum=DataTable.GetSheet("Action1").GetRowCount
For i=0 to CountNum-1
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("code").Set DataTable("code", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("name").Set DataTable("name", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定_2").Click
wait(3)
IfBrowser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定_3").Exist Then
??????????????????????????????
else
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定").Click
wait(3)
End If

DataTable.GetSheet("Action1").SetNextRow
Next

datatable:
code      name
ccccc       ccccc
ccccc       ccccc
ddddd   ddddd

ylm77ojn 发表于 2008-8-7 14:52:32

Browser("Welcome to CuteFramework2008").Page("Welcome to CuteFramework2008").WebButton("登录").Click
Browser("Welcome to CuteFramework2008").Page("首页").WebElement("WebTable").Click
Browser("Welcome to CuteFramework2008").Page("首页").Link("系统节点维护").Click

Dim CountNum
CountNum=DataTable.GetSheet("Action1").GetRowCount
For i=1 to CountNum

Dim con
Dim record, testcode

Set   con = createobject("adodb.connection")
con. open "DRIVER={Oracle in OraHome92};DSN=oracle_on_cftest;UID=U_YLM;PWD=U_YLM;DBQ=ORACLE_CFTEST ;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;"
Setrecord = createobject("adodb.recordset")
sql="select code from cs_webapp_node"
record.open    sql, con
testcode =DataTable.GetSheet("Action1").GetParameter("code").ValueByRow(i)
Ifrecord("code")=testcode Then
DataTable.GetSheet("Action1").SetNextRow
else
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("注册").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("code").Set DataTable("code", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("name").Set DataTable("name", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定_2").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定").Click
wait(3)
DataTable.GetSheet("Action1").SetNextRow
End If

Next

record.close
Set record=nothing
con.close
Set con = nothing
页: [1]
查看完整版本: datatable中一行数据没办法新增,如何不利用这行数据,利用下行数据继续新增