用下面的代碼,我遇到可怕的運行時間:爲什麼設置USER環境變量需要12秒?
Option Explicit
Dim ShellEnvironment: Set ShellEnvironment=CreateObject ("WScript.Shell").Environment ("USER")
Dim Name: Name="MyVar"
Dim NewVal: NewVal="This is my value"
Services.StartTransaction "SetEnv"
ShellEnvironment (Name)=NewVal
Services.EndTransaction ("SetEnv")
請注意,只有服務*的東西是QTP特有的。這兩個語句生成以下運行結果條目,指示環境變量分配的運行時間:
Transaction "SetEnv" ended with "Pass" status (Total Duration: 12.1970 sec).
這是一個非常快的機器。當然,這是一個不可接受的長運行時間。
根據Environment.SetEnvironmentVariable takes a long time to set a variable at User or Machine level,這是因爲所有頂級窗口都會通知1秒超時。我不確定這是否是C#專用的。那麼,它顯然不是。但我沒有看到我可以如何控制VBScript下的通知/超時過程。
所以一般來講,問題是:
如何設置在VBScript用戶環境變量沒有得到可怕的運行?
同樣的問題在這裏:http://superuser.com/questions/565771/setting-user-environment-variables-is-very-slow在這種情況下,有一條評論指責Chrome。你可以不這樣做嗎?或者你需要在設置後立即執行依賴新變量的操作? – Xiaofu
我對QTP沒有經驗,但我的第一步是通過在每條指令之前/之後回顯時間戳來確定哪條指令花費的時間太長。 –
我可以忍受異步執行流程。但是 - 我如何在QTP/VBScript中做到這一點? – TheBlastOne