51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2164|回复: 9
打印 上一主题 下一主题

[原创] 当下拉框的值出现翻页情况,该如何使用循环语句判断翻页。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-5-9 15:44:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click

这两段代码是获取动态的datatable中的值,然后点击选中。

可是现在遇到了这个情况,当下拉框的值是“cw项目10”的时候,则会启动翻页功能,这时候就获取不到值了
除非中间加一段翻页的代码点击翻页按钮才会获取得到cw项目10

Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
所以这里有什么办法能判断下拉框中的值到了10条以上了就点击翻页按钮,也可以判断下页数来决定是否翻页


这个判断循环语句该怎么写呢?求高手帮忙

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2012-5-9 16:29:40 | 只看该作者
你获取datatable中值的时候不就有个循环吗,然后 当循环的  变量%10 = 0 的时候就翻页,就行吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-5-10 15:13:56 | 只看该作者
回复 2# lifreshman0626


Dim xmname
xmname = DataTable("项目名称", dtGlobalSheet)
If xmname ="cw项目11" Then
        Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
End If
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click

我写了一个判断语句。当项目名称的值等于cw11的时候启动项目名称翻页。但是不会写循环语句。
就是当项目名称等于cw项目21、31、41的时候会相应的启动项目名称翻页,而且翻页也会随着31翻页2次,41翻页3次。这样变化。
有知道写的朋友麻烦帮忙下。谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-5-10 16:42:27 | 只看该作者
本帖最后由 lifreshman0626 于 2012-5-10 16:47 编辑
  1. Dim rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
  2. For i = 1 to rowcount
  3. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
  4. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
  5. If i mod 10 = 0 Then '这是在第11个翻页
  6. Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
  7. End If
  8. datatable.SetNextRow
  9. Next
复制代码
具体在10还是11翻页,你修改一下If i mod 10 = 0 Then  这块i的值就行
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-5-10 17:01:03 | 只看该作者
回复 4# lifreshman0626


    哥们这一句好像通过不了。Dim rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2012-5-10 17:02:56 | 只看该作者
回复 4# lifreshman0626


    我知道了。要这样写。
Dim rowcount
rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
不能直接赋值
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2012-5-10 17:09:41 | 只看该作者
回复 4# lifreshman0626


    运行到
Dim rowcount
rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
的时候报错。
对了,我忘了一个地方,当项目名称等于cw项目11的时候会翻页,等于cw项目12、13、14、15、16、17、18、19、20都要翻一次页。
等于cw项目21的时候则要翻两次页。兄台你的代码包括了这个需求吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2012-5-10 17:23:22 | 只看该作者
本帖最后由 6道9 于 2012-5-10 17:27 编辑

回复 7# chenwubia0


    他现在这个翻页代码肯定不满足你得要求,因为它只会在十的整数倍条的时候翻页,但是你可以把条件改为>=零啊!那么0,1,2,3,...,9都会翻了撒。
这样处理那么就存在一个问题:会不会它就会一直翻呢?!所以你还得先检查选项数大于十条。应该就可以完全满足你的需求了!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-5-10 20:30:32 | 只看该作者
本帖最后由 lifreshman0626 于 2012-5-10 20:33 编辑
  1. Dim rowcount,clickcount
  2. rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount

  3. For i = 1 to rowcount
  4. clickcount = int((i-1)/10)    ' 这是在i为11-20的时候,翻页一次,i为21翻页两次
  5. For j = 1 to clickcount
  6.     Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
  7. next
  8. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
  9. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
  10. datatable.SetNextRow
  11. Next
复制代码
哥们加个好友吧,237184453 李新生
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2012-5-11 10:59:30 | 只看该作者
回复 9# lifreshman0626
  1. Dim rownum,clickcount
  2. rownum = DataTable.GetSheet("Global").GetCurrentRow

  3. clickcount = int((rownum-1)/10)    ' 这是在rownum为11-20的时候,翻页一次,rownum为21翻页两次
  4. For j = 1 to clickcount
  5.     Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
  6. next
  7. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
  8. Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
复制代码
感谢哥们。感谢CCTV,感谢AV。问题终于解决了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 03:06 , Processed in 0.075173 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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