51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1853|回复: 7
打印 上一主题 下一主题

[原创] 拿一小段代码出来研究一下。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-7 16:54:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在一个web的文件服务器上,取连接。
http://webfileip/web/bat/
http://webfileip/web/msi/
http://webfileip/web/swd/
http://webfileip/web/linux/
http://webfileip/web/exe/
大致的目录结构如上,看我取得方法合理吗?

Public function getlinks(byval ptype)
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe",Corelinkweb&ptype,"C:\Documents and Settings\Administrator","open"
browser("WebServer").SetTOProperty "name",".*"&ptype
browser("WebServer").Page("WebServer").SetTOProperty "title",".*"&ptype
set linkobj=browser("WebServer").Page("WebServer").Object.links
i=1
For each linkitem in linkobj
        If i>1 Then
                create_pac linkitem,ptype
        End If
        i=i+1
Next
browser("WebServer").Close
End Function
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-9-10 10:19:34 | 只看该作者
学习了。。。。

原来去掉第一个数组是通过从arrayindex调整就可以了。。我还if ...>1呢。
把变量命名清楚一点是很好。


原帖由 yabest 于 2007-9-8 06:59 发表
呵呵,感觉你太懒了,代码不写清楚一点,让人看着很吃力!多敲几个字符很累人吗?
帮你修改了一下,看看怎样?


Dim PackageTypeArray, PackageNameArray
Dim Corelinkweb
Dim WebFileIP

WebFileIP = ...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-8 07:54:17 | 只看该作者
纯是拿QTP做编程工具了
无语
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-9-8 06:59:34 | 只看该作者
呵呵,感觉你太懒了,代码不写清楚一点,让人看着很吃力!多敲几个字符很累人吗?
帮你修改了一下,看看怎样?


  1. Dim PackageTypeArray, PackageNameArray
  2. Dim Corelinkweb
  3. Dim WebFileIP

  4. WebFileIP = "10.20.30.40"
  5. Corelinkweb = "http://" & WebFileIP & "/web"

  6. PackageTypeArray= Array("bat", "exe", "msi", "linux", "swd")
  7. packageNameArray = Array("Batch File", "Executable", "MSI", "Linux", "SWD Package")

  8. 'Loop to save links of each package page
  9. For packageIndex = 0 to UBound(packageTypeArray)
  10.   curPackageType = PackageTypeArray(packageIndex)
  11.   curPackageName = packageNameArray(packageIndex)
  12.   call SavePackagePageLinks(curPackageType, curPackageName)
  13. Next

  14. Public Function SavePackagePageLinks(ByVal PackageType, ByVal PackageName)
  15.   Dim packageDir, packageUrl
  16.   Dim iePath
  17.   Dim linkIndex, curLink

  18.   packageDir =  "/" & PackageType & "/"
  19.   packageUrl = Corelinkweb & packageDir
  20.   iePath = ""C:\Program Files\Internet Explorer\iexplore.exe"

  21.   'Open the package page
  22.   SystemUtil.Run iePath, packageUrl , "C:\Documents and Settings\Administrator", "open"

  23.   'Init the OR object
  24.   Browser("WebServer").SetTOProperty "name", ".*" & packageDir
  25.   Browser("WebServer").Page("WebServer").SetTOProperty "title", ".*" & packageDir

  26.   'Loop to save each link of package page, skip the first link
  27.   Set packagePageLinks = browser("WebServer").Page("WebServer").Object.links
  28.   For linkIndex = 1 to UBound(packagePageLinks)
  29.       curLink = curPageLinks(linkIndex)
  30.       Browser("L").Page("sm").Frame("left").Link("Distribution").Click
  31.       Browser("L").Page("sm").Frame("distributionPackagesTree").WebElement("My distribution packages").Click
  32.       Browser("L").Page("sm").Frame("findfrm").Link("New").Click
  33.       Browser("D").Page("D").Sync
  34.       Browser("D").Page("D").WebList("DropDownListPkgType").Select PackageName
  35.       Browser("D").Page("D").WebEdit("_packageNameTextBox").Set curLink
  36.       Browser("D").Page("D").WebEdit("_descriptionTextBox").Set curLink
  37.       Browser("D").Page("D").WebEdit("_primaryFileTextBox").Set curLink
  38.       Browser("D").Page("D").WebButton("Save").Click
  39.   Next

  40.   'Close browser
  41.   Browser("WebServer").Close

  42. End Function

复制代码

[ 本帖最后由 yabest 于 2007-9-8 07:20 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-7 17:36:56 | 只看该作者
原帖由 jackymail 于 2007-9-7 17:32 发表
...
yabest,别光说不练,给我修改一下看看。
...


看不懂,头大sdlkfj7
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-9-7 17:32:47 | 只看该作者
Dim parray
parray=array("/bat/","/exe/","/msi/","/linux/","/swd/")
For each ptype in parray
getlinks ptype
Next

Public function getlinks(byval ptype)
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe",Corelinkweb&ptype,"C:\Documents and Settings\Administrator","open"
browser("WebServer").SetTOProperty "name",".*"&ptype
browser("WebServer").Page("WebServer").SetTOProperty "title",".*"&ptype
set linkobj=browser("WebServer").Page("WebServer").Object.links
i=1
For each linkitem in linkobj
        If i>1 Then
                create_pac linkitem,ptype
        End If
        i=i+1
Next
browser("WebServer").Close
End Function

Private function Create_pac(linkitem,ptpye)
   Select Case ptype
      Case "/exe/"     ptype="Executable"
      Case "/bat/"      ptype="Batch File"
          Case "/swd/"     ptype="SWD Package"
          Case "/linux/"     ptype="Linux"
          Case "/msi/"     ptype="MSI"
   End Select


Browser("L").Page("sm").Frame("left").Link("Distribution").Click
Browser("L").Page("sm").Frame("distributionPackagesTree").WebElement("My distribution packages").Click
Browser("L").Page("sm").Frame("findfrm").Link("New").Click
Browser("D").Page("D").Sync
Browser("D").Page("D").WebList("DropDownListPkgType").Select ptype
Browser("D").Page("D").WebEdit("_packageNameTextBox").Set linkitem
Browser("D").Page("D").WebEdit("_descriptionTextBox").Click
Browser("D").Page("D").WebEdit("_descriptionTextBox").Set linkitem
Browser("D").Page("D").WebEdit("_primaryFileTextBox").Click
Browser("D").Page("D").WebEdit("_primaryFileTextBox").Set linkitem
Browser("D").Page("D").WebButton("Save").Click
End Function
谢谢,请多指教,指明所有问题。
没有link的点击事件发生。只有取当前页上连接的过程,取到所有的以后就把网页关了,下次循环又重新打开另一个。
我想知道能否在http//webfileip/web上直接一级一级向下取。。。
还有就是我的结构有什么问题没有。
最后就是变量,ptype我重复多次使用。
还有最开始的赋值调用。。
总之谁看到问题都给指点一下吧、
yabest,别光说不练,给我修改一下看看。

原帖由 rivermen 于 2007-9-7 17:23 发表
create_pac 这个sub是怎么样的?

ps:循环当中linkitem 所有的链接都是主页面上的

一旦第一个链接点击之后,当前页面会不会发生跳转呢?

而下一个循环时,linkitem 仍然是主页面上的链接,于是会产生在 ...

[ 本帖最后由 jackymail 于 2007-9-7 17:37 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-9-7 17:23:11 | 只看该作者
    create_pac 这个sub是怎么样的?

    ps:循环当中linkitem 所有的链接都是主页面上的

    一旦第一个链接点击之后,当前页面会不会发生跳转呢?

    而下一个循环时,linkitem 仍然是主页面上的链接,于是会产生在当前页面找不到链接的错误
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-9-7 17:21:08 | 只看该作者
    代码太难看了,挤成一团sdlkfj7
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-10-6 14:30 , Processed in 0.087685 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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