如何在VB脚本中调用Javascript函数

时间:2016-06-21 03:38:06

标签: vbscript qtp hp-uft

我有一个java脚本函数来进行自然排序。

但是我不知道如何调用这个java脚本并使用VB脚本在HP UFT中获取js的返回值。

function alphanum(a, b) {
  function chunkify(t) {
    var tz = [], x = 0, y = -1, n = 0, i, j;

    while (i = (j = t.charAt(x++)).charCodeAt(0)) {
      var m = (i == 46 || (i >=48 && i <= 57));
      if (m !== n) {
        tz[++y] = "";
        n = m;
      }
      tz[y] += j;
    }
    return tz;
  }

  var aa = chunkify(a);
  var bb = chunkify(b);

  for (x = 0; aa[x] && bb[x]; x++) {
    if (aa[x] !== bb[x]) {
      var c = Number(aa[x]), d = Number(bb[x]);
      if (c == aa[x] && d == bb[x]) {
        return c - d;
      } else return (aa[x] > bb[x]) ? 1 : -1;
    }
  }
  return aa.length - bb.length;
}

请告诉我如何拨打js?

1 个答案:

答案 0 :(得分:2)

当我需要让UFT执行一些javascript时,我构建了一个函数来调用;这是:

Public Function MISC_ExecuteJavascript(byVal oPage, byVal sJavaScript)
   Dim JSEntry
    Set JSEntry = oPage.object.documentelement.parentnode.parentwindow          
    On Error Resume Next        
    MISC_ExecuteJavascript = JSEntry.eval(sJavaScript)      
    On Error Goto 0
End Function

你传递了你需要执行javascript的Browser().Page()对象,以及你想要执行的实际javascript调用。然后该函数将对页面执行它。希望能帮到你