51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2718|回复: 18
打印 上一主题 下一主题

[原创] 导入的数据库无法走到下一行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-1-7 10:53:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim mylink,Row,i
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
DataTable.SetCurrentRow(1)
mylink=DataTable.Value("mylink",1)
For i=1 to Datatable.GetRowCount
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.GetSheet("Global").SetNextRow
Next

只能打开“博客”的网页,而且不知道为什么会循环了4次,打开了4个“博客”的网页
我在action中设了run on all rows 也是如此,请问是为什么?谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-1-7 11:26:30 | 只看该作者
你看看 你的 xls文件里面的是否多了几行测试数据啊
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-1-7 11:47:09 | 只看该作者
mylink=DataTable.Value("mylink",1) 要放到for里
另外一个我吃饭后再说
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-1-7 11:50:07 | 只看该作者

回复 2# 的帖子

我已经专门在excel中清了下了,还是这样
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-1-7 11:53:25 | 只看该作者
原帖由 david208 于 2009-1-7 11:47 发表
mylink=DataTable.Value("mylink",1) 要放到for里
另外一个我吃饭后再说


"测试视频"的网页能打开了,谢谢啊,但是为什么要放在for里呢?还有个循环问题
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-1-7 12:32:49 | 只看该作者
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
改为
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-1-7 13:03:00 | 只看该作者
原帖由 david208 于 2009-1-7 12:32 发表
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
改为
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2


改了后,没有反应唉
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-1-7 13:18:10 | 只看该作者
DataTable.GetSheet("Global").SetNextRow
改成
DataTable.GetSheet("action1").SetNextRow
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-1-7 13:42:11 | 只看该作者
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
没有把excel导入,
DataTable.GetSheet("action1").SetNextRow
打开重复的网页
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-1-7 13:48:51 | 只看该作者
Dim mylink,Row,i

DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
DataTable.SetCurrentRow(1)

For i=1 to Datatable.GetRowCount
        mylink=DataTable.Value("mylink",1)
        Browser("中国测试社区 powered by www.3atestin").Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
        DataTable.GetSheet("Global").SetNextRow
Next

这样可以打开“博客”和“测试视频”的网页,就是会有循环出现2次“博客”和“测试视频”,还有这里很奇怪,用了描述性语言就会出错,说找不到父对象
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-1-7 14:04:55 | 只看该作者
不要使用global,用action1.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-1-7 14:38:23 | 只看该作者
用Action1,还是出来4个“博客”页面
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-1-7 15:16:20 | 只看该作者

11

额 你在看看

[ 本帖最后由 david208 于 2009-1-7 16:22 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2009-1-7 15:39:52 | 只看该作者
没有反应,也没新网页打开,也没报错,晕了
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2009-1-7 16:21:37 | 只看该作者
嗯,datatable.import导入到global会有问题,导入的行数决定了循环导入的次数!

所以尽量使用action1这种本地的。

Dim mylink,Row,i
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
DataTable.SetCurrentRow(1)
for  i =1 to  Datatable.GetSheet("Action1").GetRowCount
mylink=DataTable.LocalSheet.getparameter("mylink")
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.getsheet("Action1").SetNextRow
next

这个试下

[ 本帖最后由 david208 于 2009-1-7 16:42 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2009-1-7 17:11:27 | 只看该作者
报错,显示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-1-7 17:13:55 | 只看该作者
我还出现过读取的数据读了几行后又返回重头开始读,于是我用了下面的办法

for  i =1 to  Datatable.GetSheet("Action1").GetRowCount
DataTable.SetCurrentRow(i)    ‘在这里设置当前行
mylink=DataTable.LocalSheet.getparameter("mylink")
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.getsheet("Action1").SetNextRow
next

你可以试下,至于它为什么会乱跑行,我还想不清楚。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2009-1-8 09:04:50 | 只看该作者
谢谢,david208、blueeagle9999、jindouguang的热心帮助,问题已解决
请问,为什么要把DataTable.SetCurrentRow(i)   
放在循环中呢?
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2009-1-8 10:29:39 | 只看该作者
Dim mylink,Row,i
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
mylink=DataTable.Value("mylink",1)
For i=1 to Datatable.GetRowCount
DataTable.SetCurrentRow(1)
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
'DataTable.GetSheet("Global").SetNextRow
Next
'直接运行肯定可以,你的setcurrentrow位置不对
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 00:16 , Processed in 0.091061 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表