UFT VBS两个函数同名,如何指定哪一个

时间:2017-06-26 18:25:54

标签: vbscript qtp hp-uft

我在名为DetermineTree()的函数库中有一个函数Explorer.vbs,在DetermineTree()中有一个同名Datasheets.vbs的函数。从我的Action我调用的函数最终会调用DetermineTree()。我想指定我要从DetermineTree()拨打Explorer.vbs而不是Datasheets.vbs

中的var AWS = require('aws-sdk'); AWS.config.region = "us-east-1"; var s3 = new AWS.S3({signatureVersion: 'v4'}); var BUCKET_NAME = 'my-bucket-name' exports.handler = (event, context, callback) => { var params = {Bucket: BUCKET_NAME, Key: event.path}; s3.getSignedUrl('putObject', params, function (err, url) { console.log('The URL is', url); callback(null, url); }); };

我意识到,如果我更改了库的关联顺序,它将解决问题,但我正在寻找这个问题的代码修复。

在C#中的

我认为您可以使用点符号指定,例如。 Explorer.DetermineTree()

2 个答案:

答案 0 :(得分:3)

我假设你没有选择更改你的函数库来为这些函数提供唯一的名称(这将是最干净的解决方案)。

VBScript中的AFAIK功能不会"记住" 它来自哪个脚本文件,所以没有办法消除这些功能的歧义而不改变它们文件。评估的最新文件将覆盖以前具有相同名称的函数。

针对您的问题的一个hacky解决方案可以是在调用函数之前使用LoadFunctionLibrary,以确保正确的函数库最终决定使用哪个函数。

答案 1 :(得分:0)

您可以进一步阅读以了解首先调用哪个函数(订单) - Why only the latest function is called, if the function name are same in UFT 12.02?