【问题标题】:Automate UFT Remote Agent Settings自动化 UFT 远程代理设置
【发布时间】:2017-06-06 07:32:48
【问题描述】:

问题:在该机器上运行我的测试集之前,我需要在该机器上以编程方式更改 UFT 的远程代理设置(附图)。

目前尝试过的方法: 我在 Internet 上查找,发现所有 Remote Agent 的设置值都放在文件 mic.ini 中,该文件位于 UFT 安装目录的 bin 文件夹中。我想过使用文件系统对象将文件作为文本流打开并进行所需的更改。但是,事实证明,我没有该 bin 文件夹的管理员权限,因此我无法保存在 mic.ini 文件中所做的更改(错误:访问被拒绝)。不幸的是,获得管理员权限对我来说不是一个选项。

除了这种方法,我找不到任何可以帮助我完成这项任务的方法。

还有其他方法可以以编程方式更改这些设置吗?是否有我可以使用的远程代理对话框的对象模型?

【问题讨论】:

  • 您是说从 GUI 中您可以更改复选框,而不是您不能更改的 .ini 文件。也许像 selenium 这样的东西可以帮助您自动化并选择 UFT“是/否”,但我不确定是否存在这样的东西!祝你有美好的一天,祝你好运:-)
  • 是的。在 GUI 中,我可以更改它,但不能从 mic.ini 文件中更改
  • 奇怪,因为您应该始终是“同一用户”。不管怎么说,也许像 selenium 这样的东西可以帮助你自动化这个开关,但我不确定。不幸的是,我没有 exp :-)
  • 也许别人有更多的经验。或者你可以在互联网上找到类似的东西,不确定,但祝你一切顺利!
  • 远程代理设置不会自动更改,您只需为要运行测试的用户设置一个即可。如果您使用任何脚本来控制 UFT,那么这些脚本可以根据您的要求轻松完成任务。我有相同的设置,我使用 jenkins,它可以发送带有执行结果的电子邮件,并且不需要在机器上更改任何设置,如果你能告诉我你想要更改哪些设置,那么我可能会帮助你实现无需更改远程代理设置。

标签: vbscript qtp hp-uft alm


【解决方案1】:

注意: 这可能不是您正在寻找的答案,但这是我发现并证明了自己的答案。

从取消选中Keep UFT open...选项的选项开始,这是直接来自UFT help file的注释:

在测试实验室运行会话结束后保持 UFT 打开:

默认情况下,当 ALM 在测试集期间在远程计算机上打开 UFT 时 运行(或者当它运行从测试中选择的测试或配置时 Lab 模块),它会在该测试实验室运行会话结束时关闭 UFT。 这可确保 UFT 许可证在该点发布并制作 可供其他 UFT 用户使用。

选择此选项会使 UFT 在您的计算机上保持打开状态(并且 在测试实验室运行会话结束后继续使用 UFT 许可证。

注意:上述行为仅在打开 UFT 时相关 从将 SUPPORT_TESTSET_END 参数设置为的 ALM 服务器 Y.(Y 是默认设置)。如果 UFT 从较早的 ALM 版本(或上述参数设置为 N),此 选项被忽略,并且 UFT 在运行结束时始终保持打开状态 会话。

有关 SUPPORT_TESTEND_END 参数的详细信息,请参阅关于 在应用程序生命周期中设置 ALM 配置参数 管理管理员指南。

如前所述,如果 SUPPORT_TESTSET_END 参数设置为 Y,ALM 将默认关闭 UFT。因此,我会就此与 ALM 管理团队核实。


现在对于取消选中 Run UFT in debug mode 选项的选项,您可以将 UFT 应用程序对象的 RunMode 选项保留为 Fast

注意:您确实不需要进行此更改,因为默认情况下 ALM 将在快速模式下运行 UFT 脚本。

下面是示例脚本,便于理解:

On Error Resume Next
Dim qtApp '~~> Declare the Application object variable

'~~> Create the UFT Application object
Set qtApp = CreateObject("QuickTest.Application") 

'~~> If UFT is notopen then open it
If qtApp.launched <> True then 
    qtApp.Launch 
End If 

'~~> Make the QUFT visible
qtApp.Visible = FALSE
If Not qtApp.TDConnection.IsConnected Then
    '~~> Make changes in a test on Quality Center with version control
    qtApp.TDConnection.Connect "QC URL","DOMAIN Name","Project Name","User Name","Password",False
End If

'--------------------------------------------------------------------
Dim defaultRunMode, fastRunMode, normalRunMode
defaultRunMode = qtApp.Options.Run.RunMode

qtApp.Options.Run.RunMode = "Fast"
fastRunMode = qtApp.Options.Run.RunMode

qtApp.Options.Run.RunMode = "Normal"
normalRunMode = qtApp.Options.Run.RunMode

Msgbox "Different RunModes" & VbCrLf & _
    VbTab & "DEFAULT RunMode : " & defaultRunMode & VbCrLf & _
    VbTab & "After FAST RunMode : " & fastRunMode & VbCrLf & _
    VbTab & "After NORMAL RunMode : " & normalRunMode
'--------------------------------------------------------------------

'~~> Script path  and script name in ALM
qtApp.Open "[ALM] Subject\QCScriptPath\ScriptName", False
qtApp.Test.Run
qtApp.TDConnection.Disconnect

'~~> Close UFT
qtApp.quit

'~~> Release Object
Set qtApp = Nothing

'~~> Handle Error
If Err.Number <> 0 Then
    Msgbox Err.Number & " : " & Err.Description
    Err.Clear
End If

这是 msgbox 的输出:

【讨论】:

  • 感谢您提供这些详细信息(和链接)。我不知道这些默认设置。但我仍然想通过脚本使这些设置更具可配置性。会继续努力..
  • 很高兴为您提供帮助... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
相关资源
最近更新 更多