使用xml实现Select Case方法

上一篇 / 下一篇  2008-06-06 16:44:01 / 个人分类:QTP

当select case方法写的很大了,而且在今后的维护中还要往里加入新的相似内容,可以考虑把这样的方法准换到xml文件中维护。下面是个小例子。

1、select case实现的一个小功能,代码如下:

Dim Color, MyVar
Function ChangeBackground (Color)
   MyVar = lcase (Color)
   Select Case MyVar
      Case "red"     Call Red()
      Case "green"   Call Green()
      Case "blue"    Call Blue()
   End Select
End Function

Function Red()
   msgbox "red"
End Function

Function Green()
   msgbox "green"
End Function

Function Blue()
   msgbox "blue"
End Function

2、xml实现上面的方法
Dim Color, MyVar
Function ChangeBackground(Color)
      MyVar = lcase (Color)
      Dim xmlDoc,xmlRoot,xmlColor
      Set xmlDoc = CreateObject("Microsoft.XMLDOM") '创建XML DOM对象
      xmlDoc.async = False '控制加载模式为同步模式(xml树加载完毕后再执行后续代码)
      xmlDoc.load "d:\SelectCase.xml" 'strXmlFilePath'载入xml文件
      Set xmlRoot = xmlDoc.documentElement
      Set xmlColor = xmlRoot.selectNodes(MyVar)  '选择的颜色
      cmd = xmlColor(0).selectSingleNode("CallFunction").text
      Execute cmd
      Set xmlColor = Nothing
      Set xmlRoot = Nothing
      Set xmlDoc = Nothing
End Function


Function Red()
   msgbox "red"
End Function

Function Green()
   msgbox "green"
End Function

Function Blue()
   msgbox "blue"
End Function

3、xml文件定义如下
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Red>
<CallFunction>Call Red()</CallFunction>
</Red>
<Green>
<CallFunction>Call Green()</CallFunction>
</Green>
<Blue>
<CallFunction>Call Blue()</CallFunction>
</Blue>
</root>

TAG: QTP

kakamissyou的测试小栈 引用 删除 kakamissyou   /   2008-06-10 14:16:20
老兄,这句:
MyVar = lcase (Color)
和你后面造的数据不匹配.
应该将lcase去掉.
 

评分:0

我来说两句

我的栏目

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 5122
  • 日志数: 7
  • 图片数: 1
  • 建立时间: 2008-04-01
  • 更新时间: 2008-06-06

RSS订阅

Open Toolbar