1

在 UFT 脚本(以前称为 QTP)中,我试图在开始执行脚本之前将语言环境更改为给定值。我们的脚本在虚拟机上运行,​​这些虚拟机有时会定义不同的语言环境,这会导致报告错误(例如不同的日期格式)。通过在脚本开始时设置语言环境,我想避免这些错误。

我知道如何更改脚本中的语言环境,这非常简单:

        If Currentlocale <> 2057 Then
            SetLocale "2057"
        End If

如果我将此代码包含到我的 UFT 脚本中,则区域设置会在运行时更改为 2057 并保持不变,直到脚本完成。完美的!虽然我们有几十个脚本,所以我不想在每个脚本中都包含这段代码。

但是,每个脚本都必须登录,登录过程作为单个函数驻留在函数库中,该函数库链接到所有这些脚本。如果我将简单代码包含在该单一登录函数中,我看到的是:执行登录过程时更改了语言环境(因此,当您在登录函数中时),但是一旦执行登录过程并且脚本执行下一步,语言环境回到原来的状态。因此,看起来函数库不会在执行登录函数后立即将新语言环境传递给脚本。如果你明白我的意思 ...

任何建议如何解决?

4

1 回答 1

0

是的你可以。使用 SetLocale(lcid) (或其他适当位置)的测试开始是这样的:

SetLocale("en-gb") ' sets locale to UK 
SetLocale("en-us") ' sets locale to US 
SetLocale("de") ' sets locale to Germany 

https://admhelp.microfocus.com/uft/en/all/VBScript/Content/html/882ca1eb-81b6-4a73-839d-154c6440bf70.htm

要更改区域设置,我们也可以使用注册表... 使用 vbs 更改系统区域/位置设置

于 2019-10-14T19:56:12.793 回答