2016-06-21 40 views
0

我有一個Java腳本函數來進行自然排序。如何在VB腳本中調用Javascript函數

但我不知道如何調用這個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?

回答

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 

給它傳遞Browser().Page()對象,您需要執行的JavaScript和JavaScript調用你的實際執行的希望。該函數然後將在頁面上執行它。希望能幫到你