前100名 QTP / UFT 2026 年面试问答

这里有 UFT 面试问题和答案,帮助应届毕业生和经验丰富的求职者获得他们梦想的工作。

本问卷分为初级和高级两部分。如果您有相关经验, QTP 直接跳到第50题。不过,我们建议您阅读所有问题,这将有助于您为面试做好准备。

 

QTP/UFT 应届毕业生面试问题及答案

1) Micro Focus 中的对象存储库有哪些类型? UFT.

QTP 支持两种类型的对象库

1)共享对象存储库(也称为全局)

2)每个动作对象存储库(也称为本地)

默认使用 Per-Action Object Repository。Per-Action 存储库的扩展名为 “.mtr”。

处理在多个测试中调用的动态对象时,共享对象存储库是首选。扩展名为“.tsr”

👉免费PDF下载: QTP 面试问答


2) HP 支持哪些环境 QTP?

QTP 支持以下环境

  • 活跃的X.
  • 德尔福
  • Java
  • 。净
  • Oracle
  • 仁科
  • 电力建设者
  • SAP
  • 的Siebel
  • 黄貂鱼
  • 终端仿真器
  • Visual Basic中
  • 视觉时代
  • 网上
  • Web服务


要了解有关插件及其使用方法的更多信息,请观看此视频 教程.


3)我们可以打电话吗? QTP 如何使用脚本从一个测试中调用另一个测试?假设有 4 个测试,我想在一个主脚本中调用这些测试。这在 中是否可行? QTP?

是的。您可以在测试中调用 4 个或更多脚本。为此,首先您需要使相应脚本中的操作可重复使用。然后您可以从目标脚本调用这些可重复使用的操作。

QTP / UFT 面试问题
QTP / UFT 面试问题


4)什么是动作拆分?在什么情况下使用动作拆分? QTP?

动作拆分是将现有动作分为两部分。目的是根据动作的功能进行划分,以提高代码的重用性。


5)你将如何处理 Java 树在 QTP?

首先,你会选择 Java 添加并启动 QTP下一步记录操作 Java 树。如果您在录制时遇到问题,您可以选择工具 > 对象识别 > Java、树对象并对强制和辅助属性进行更改以便于识别。

提示:您可以根据任何环境中的任何其他对象的类似内容来回答问题。例如:如果问题是如何检查 SAP 复选框,你说,首先我会选择 SAP 添加…等等。


6)解释如何 QTP 识别对象?

QTP 根据相应属性识别任何 GUI 对象。录制时, QTP 将在 GUI 对象的对象库中识别并存储特殊属性(如对象标识设置中所定义)。在运行时, QTP 将会把存储的属性值与屏幕上的属性进行比较,以唯一地标识 GUI 对象。

进一步了解 对象识别


7)有多少种录制模式? QTP何时使用哪一个?

QTP 支持 3 种录制模式

1. 普通模式又称上下文模式

2. 低级录音模式

3.模拟模式

普通模式:这是默认的录制模式,可充分利用以下功能: QTP的测试对象模型。它可以识别屏幕上任何位置的对象。这是首选的编码模式,用于大多数自动化活动。

低级记录模式:此模式记录鼠标操作的精确 x、y 坐标。它有助于测试哈希表。它还可用于记录普通模式无法识别的对象。 QTP.

模拟模式:此模式可记录您相对于屏幕/应用程序窗口执行的鼠标和键盘的精确“移动”。此模式对于绘制图片、记录签名、拖放操作等操作非常有用。


进一步了解 录制模式 QTP


8)你将如何从一个动作调用到另一个动作?

我们可以用两种方式调用动作

1) 调用 Action 的复制。——在此,Action 对象存储库、脚本和 Datable 将被复制到目标测试脚本。
2) 调用现有操作。——在此,对象存储库、脚本和 Datable 将不会被复制,但会对源脚本中的操作进行调用(引用)。


9)什么是虚拟物体?

您的应用程序可能包含行为类似于标准对象但无法被识别的对象。 QTP您可以将这些对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。 QTP 模拟用户在运行会话期间对虚拟对象执行的操作。在测试结果中,虚拟对象显示得如同一个标准的类对象。

例如,假设您想要在包含用户单击的位图的网页上记录测试。位图包含几个不同的超链接区域,每个区域都会打开不同的目标页面。当您记录测试时,网站会匹配位图上单击的坐标并打开目标页面。

启用 QTP 要在运行会话期间点击所需的坐标,您可以为位图的某个区域定义一个虚拟对象,该对象包含这些坐标,并将其映射到按钮类。运行测试时, QTP 单击定义为虚拟对象的区域中的位图,以便网站打开正确的目标页面。


10) 如何使用执行跨平台测试和跨浏览器测试 QTP你能举个例子解释一下吗?

您需要创建单独的操作来处理不同的操作系统和浏览器

跨平台测试:

使用内置环境变量您可以挖掘操作系统信息。

例如。平台 = 环境(“OS”)。然后,您需要根据平台调用在该特定平台上记录的操作。

跨浏览器测试:

使用这段代码,例如 Browser(“Core Values”).GetROProperty(“version”),您可以……trac浏览器及其对应的版本。例如:Internet Explorer 6 或 Netscape 5。根据此值,调用与该浏览器相关的操作。


11)对象的逻辑名称是什么?

逻辑名称是由……给出的名称 QTP 在存储库中创建对象时,需要使用名称来将其与其他应用程序中的对象唯一区分开来。此名称将由以下人员使用: QTP 将脚本中的对象名称与其在对象库中的对应描述进行映射。例如:Browser(“Browser”).Page(“Guru99”)这里 Guru99 是该对象的逻辑名称。


12)什么是描述性编程?

通常,对象及其属性必须记录在对象库中才能启用。 QTP 对其执行操作。

使用描述性编程,您不需要将对象及其属性值存储在对象存储库中,而是直接在脚本中提及属性值对。

描述性编程背后的想法不是绕过对象存储库,而是帮助识别动态对象。

进一步了解 Descript实战编程


13)使用描述性编程时,您将使用哪些属性来识别浏览器和页面?

您可以使用 name 属性

例如: Browser("name:="xxx"").page("name:="xxxx"").....

OR

我们还可以使用属性“micClass”。

例如: Browser("micClass:=browser").page("micClass:=page")....


14)我们能否使用以下方式录制在远程计算机上运行的应用程序 QTP?

是的,您可以记录远程应用程序,只要您通过本地浏览器访问应用程序,而不是通过 citrix 等远程工具访问。

如果仍然无法录制,建议安装 QTP 和应用程序,在同一台机器上


15) 举例解释关键字 CreateObject。

创建并返回对 Automation 对象的引用

SYNTAX: CreateObject(servername.typename [, location])

参数

服务器名称: 必填。提供对象的应用程序的名称。

类型名称: 必需。要创建的对象的类型或类。

位置: 可选。要创建对象的网络服务器的名称。

计费示例: 设置 IE = CreateObject(“InternetExplorer.Application”)


16) 你能在 Per-Action 和 Shared Object Repository 之间切换吗?如果可以,如何切换?

是的。我们可以切换。转到测试—>设置—>资源。在这里您可以选择存储库。


17) 什么是 Object Spy ? 如何使用它?

Object Spy 有助于确定被测应用程序的运行和测试时间对象属性和方法。

您可以直接从工具栏或对象存储库对话框访问对象间谍 Box.

它非常有用 Descript实战编程

进一步了解 对象间谍


18) 如果序数标识符本身就能使对象唯一,那么为什么不将其列为最高优先级?为什么它首先是强制性的,其次才是辅助性的。为什么我们不能直接使用序数标识符?

考虑以下 -

a) 如果两个物体相互重叠,则基于位置的物体识别将会失败。

b) 如果仅使用基于索引的识别,您的脚本将会工作,但脚本执行时间会增加。

因此使用了强制和辅助属性。


19)代码文件的文件扩展名是什么? QTP?

Code 文件扩展名为 script.mts


20)简要解释一下…… QTP 自动化对象模型。

QTP 自动化对象模型处理自动化 QTP 它本身。几乎所有配置和功能都由它提供。 QTP 由...表示 QTP的自动化对象模型。几乎所有对话框 QTP 具有相应的自动化对象,可以使用自动化对象模型中的相应属性或方法进行设置或检索。QTP 自动化对象可以与标准的 VB 编程元素(如迭代循环或条件语句)一起使用,以帮助您设计所需的脚本。


21)文本输出值有什么用途? QTP?

文本输出值使您能够捕获运行时被测应用程序上出现的文本。

如果参数化,文本输出值将捕获每次迭代中出现的值,这些值将存储在运行时数据表中以供进一步分析。


22)什么是步骤 Generator?

步骤 Generator 允许在脚本中添加测试步骤。使用步骤生成器,您可以将步骤添加到脚本中,而无需实际记录它。


23)如何制作 QTP 理解同类型对象之间的区别。假设页面上有 5 个复选框,我需要选择第二个,如何通过脚本实现?

您可以使用序数标识符(例如索引)以及一些描述性编程进行对象识别。

观看 视频 此示例的。


24)什么是测试融合报告?

测试融合报告显示测试运行的所有方面,并以树状格式组织。

它提供了所有迭代执行的每个步骤的详细信息。

如果选择的话,它还提供运行时数据表、屏幕截图和测试运行的电影。


25)如何处理异常 QTP?

In QTP 特殊处理是通过使用以下方式完成的:

a. 恢复场景。
b. 使用“On Error”语句

在恢复场景中您必须定义。
1. 触发事件。
2.恢复步骤。
3. 恢复后试运行。

在脚本级别,您可以使用 On Error Resume Next 和 On Error Go to 0 语句。


26)环境变量的类型有哪些? QTP?

环境变量 QTP 分为三种类型:

1) 内置(只读)

2) 用户定义内部(只读)

3) 用户定义外部(读/写)

使用以下语法设置环境变量

Environment.Value( "name") = "Guru99"

您可以使用以下语法检索环境变量

Environment.Value("name") — 这将返回名称为 Guru99

Environment.Value("OS") — 这将返回您的系统操作系统


27)位图检查点和图像检查点有什么区别?

位图检查点对图像或图像的一部分进行像素与像素的比较。

图像检查点确实会进行像素到像素的比较,但会比较图像属性,例如替代文本、目标网址等。


28)函数和动作之间有什么区别? QTP?

操作有自己的对象存储库和数据表。操作有助于使您的测试模块化并提高重用性。示例:您可以根据登录、注销等功能将脚本划分为操作。

函数是 VB 脚本编程概念,没有自己的对象存储库或数据表。函数有助于重复使用您的代码。例如:您可以在脚本中创建一个函数来连接两个字符串。


29)什么是关键词视图和专家视图? QTP?

关键字视图是一种基于图标的视图,以表格形式显示测试步骤。它还会自动生成测试步骤的文档。

专家视图在关键字视图中为每个测试步骤提供相应的VB脚本语句。


30) 解释 QTP 测试流程?

快速测试过程包括 6 个主要阶段:

1) 创建测试计划 – 这是准备阶段,您需要在此阶段确定自动化测试的具体步骤、测试数据和预期结果。您还需要确定创建和运行测试所需的环境和系统配置。 QTP 测试。

2)录制应用程序的测试会话——在此阶段,您将在被测应用程序 (AUT) 上逐一执行测试步骤,并且 QTP 将自动记录执行的每个步骤对应的 VB 脚本语句。

3)增强测试——在此阶段,您将插入检查点、输出值、参数化、编程逻辑(如 if...else 循环)以增强测试脚本的逻辑。

4) 重播和调试——增强后,您将重播脚本以检查其是否正常运行,并在必要时进行调试。

5) 运行测试——在此阶段,您将执行测试脚本的实际执行。

6) 分析测试结果——测试运行完成后,您将分析生成的测试融合报告中的结果。

7) 缺陷报告 – 任何已发现的事件都需要报告。如果您使用 Quality Center,则可以为失败的测试自动生成缺陷报告。 QTP.


31)测试自动化框架有哪些不同类型?

自动化框架的类型包括:

1)线性脚本——录制和回放

2)测试库 Archi结构框架。

3)数据驱动测试框架。

4)关键字驱动或表驱动的测试框架。

进一步了解 测试自动化框架.


32) 如何使用以下方法检查 Web 应用程序中的死链接 QTP?

您可以使用页面检查点,它可以计算页面上有效/无效链接的数量。


33) 什么是运行时数据表?我在哪里可以找到并查看此表?

参数化输出、检查点值、输出值等数据存储在运行时表中。它是一个 xls 文件,存储在测试结果文件夹中。也可以在测试融合报告中访问它。


34)检查点和输出值有什么区别。

检查点是一个验证点,它将指定属性的当前值与该属性的预期值进行比较。根据此比较,它将生成 PASS 或 FAIL 状态。

输出值是测试运行期间捕获的值,可以存储在指定位置(如 Datatable 或变量)。与检查点不同,不会生成 PASS/FAIL 状态。


35)如何使用 VBScript 连接数据库?

要连接数据库你必须知道

a) 服务器的连接字符串

b) 用户名

c) 密码

d) DNS 名称

您可以直接编写数据库连接命令,也可以使用 SQL 查询工具由 QTP.


36)什么是 QTP 批量测试工具?

您可以使用批量测试工具运行多个脚本。将脚本添加到工具中后,它将自动打开脚本并开始依次执行它们。


37)缺点是什么? QTP?

截至 QTP 10版

1)大型测试 QTP 消耗大量内存并增加CPU使用率。

2)因为 QTP 结果存储在 HTML 文件(而不是 txt)中,结果文件夹有时会变得很大。


38)什么是可选步骤?

声明为可选的步骤并非必须执行。如果相应的 GUI 对象存在, QTP 对其执行操作。如果 GUI 对象不存在, QTP 跳过可选步骤,直接执行下一步。


39)什么是 Reporter.ReportEvent?

Reporter.Reportvent 是由 Reporter 提供的标准方法。 QTP 向测试结果窗口发送自定义消息。

句法

Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
where
EventStatus = 0 or micPass
1 or micFail
2 or micDone
3 or micWarning

结果可以呈现任何状态,如通过、失败、警告等。您还可以将屏幕截图发送到测试结果窗口。


40)你将如何声明一个变量? QTP?

使用 DIM 关键字进行声明。使用 SET 关键字为变量赋值。

防爆。

Dim temp '将声明 temp 变量

设置 temp = 20 ' 将为 temp 分配值 20。


41)什么是 GetRoProperty?

GetRoProperty 是由提供的标准方法。 QTP 获取运行时对象的属性值。


42)什么是智能识别?

通常,只要屏幕上显示的对象属性有一个与记录的对象属性不匹配,测试就会失败。

在智能识别方面, QTP 如果属性值不匹配,不会报错,而是使用基本筛选器和可选筛选器属性来唯一标识对象。在智能识别中,如果某个属性值不匹配,脚本不会失败,而是继续比较下一个属性。智能识别可以在“对象识别”对话框中启用。

进一步了解 智能识别


43)如何将脚本从一台电脑导出到另一台电脑? QTP?

我们可以使用“对象识别”、“测试设置”和“工具/选项”选项卡中的“生成脚本”功能,在源计算机上创建脚本的 zip 文件。然后,可以将这些 zip 文件导入到系统中。 QTP 在目标计算机上。


44)可以启动两个实例 QTP 在同一台机器上吗?

不,你只能使用单个实例。 QTP 在同一台机器上。但是 QTP 它本身可以对多个被测应用程序 (AUT) 实例进行操作。例如: QTP 可以同时处理多个IE浏览器窗口。


45) 请给出将 xls 文件导入/导出到目标文件的语法。 QTP.

DataTable.ImportSheet "..\..\TestData\Input.xls",1,dtGlobalSheet
DataTable.ExportSheet "..\..\Results\Output.xls","Global"

46)什么是 SetToProperty?

SetToProperty 会更改存储在对象存储库中的对象的属性。但是这些更改并不是永久性的。


47)Web应用程序的标准延迟是多少? QTP?

标准延迟为 60 秒。可在测试设置中更改。


48)什么是动作转换工具?

它是由提供的内置工具。 QTP 将操作转换为业务流程组件。


49) 函数库的扩展名是什么?

扩展名是 '.QFL'


50)如果全局数据表不包含任何数据,而本地数据表包含两行数据,测试将迭代多少次?

测试只会迭代一次——全局迭代。


UFT/QTP 经验丰富的面试问题和答案

51)解释如何读取注册表项 UFT?

这里演示的示例解释了如何读取注册表项。 UFT

‘Create a shell object

Set MyShell= CreateObject (“WScript.Shell”)

Read the value of key from the registry

RegValue =MyShell.RegRead (varpathofkey)

‘in above function we have to pass the path of key in registery’.

e.g. HKCU\software\ie\settings

msgbox RegValue

52)有哪些方法 UFT 获取系统环境变量 UFT?

获取系统环境变量有三种方法 UFT

使用 WSH shell 对象

  • 使用 WMI 的 Win32_Environment 类
  • 从注册表中读取变量
Set myShell = CreateObject (“WScript.Shell”)

WScript.Echo myShell.ExpandEnvironmentStrings( "%PATHEXT%" )

myShell=Nothing,

输出将是 .BAT;.CMD;.VBS;. VBE;. JS;. JSE

其他用户变量(如 TEMP)会覆盖其系统对应变量

Set myShell = CreateObject( "WScript.Shell" )

WScript.Echo myShell.ExpandEnvironmentStrings( "TEMP=%TEMP%" )

myShell=Nothing

输出将是

临时文件:C:\DOCUME~1\您\LOCALS~1\Temp


53)列出所需步骤 UFT 如何从 Outlook 发送邮件?

如何在 Outlook 中发送邮件 UFT,

Set Outlook = CreateObject ("Outlook.Application")
Dim Message 'As Outlook.MailItem
Set Message = Outlook.CreateItem(olMailItem)
With Message
.Subject = Subject
.HTMLBody = TextBody
.Recipients.Add (aTo)
Const olOriginator = 0
.Send
End With

54)解释如何从数据库中获取数据。 UFT?

从数据库中获取数据 UFT您必须遵循以下代码。

Set db= createobject (“ADODB.Connection”)
db.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\guru99\vb6\admission_project.mdb;
Persist Security Info= False”
Set rst=createobject(“ADODB.Recordset”)
rst.Open “select*from Course”, db, 3
id=rst. RecordCount
For i=0 to id-1
Print rst.field (0) & rst.fields (1) & rst.fields (2) & rst.fields (3)
rst.Movenext
Next

55)我们可以使用哪些代码从 FTP 服务器获取文件? UFT?

要从 ftp 服务器获取 ftp 文件,您必须使用以下代码

a) put-将单个文件存储在服务器上

b) get-从 ftp 服务器下载单个文件

c) mget-从服务器下载多个文件

d) mput-在服务器上存储多个文件

e) delete-删除 ftp 服务器上的文件

MyShell.Run "%comspec% /c FTP -n -s:" & commandstoworkwithftp & " " & Site, 0,True

56)在 UFT 如何防止系统被锁定?

为了防止系统被锁定,可以使用以下两种方式之一

  • 创建一个简单的 vbs 文件,其中包含按下 numlock 键的代码并运行该 vbs 文件
  • 编辑一个注册表项“DisableLockWorkstation =1”以禁用锁定

57)什么是描述性编程? UFT 方法?

Descript虚拟编程包括属性名称和属性值。每当 UFT 难以从对象库中识别对象,而是直接从脚本中识别对象,这种方法被称为描述性编程。


58)在 UFT 请解释一下qfl文件和vbs文件的区别?

a) qfl是快速测试函数库文件,vbs是 Microsoft的 vbscript

b)qfl 是不可执行文件,而 vbs 是可执行文件

c) 使用文件 UFT 将 qfl 文件与测试设置关联起来,而要包含 vbs 文件,请使用“执行文件语句”。


59)将数据写入文本文件的代码是什么? UFT?

将数据写入文本文件 UFT 代码是

Content = “Guru99 Rocks”
Set Fo = createobject ("Scripting.FilesystemObject")
Set f = Fo.openTextFile ("c:\myFile.txt",8,true)     ' open in write mode
f.Write (contents)
f.Close
Set f = nothing

60) 如何将数据写入 Excel 文件 UFT?

Code 将数据写入 Excel 文件 UFT is

filepath = “C:\Bugs\Reports.xlsx”
Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible= True
Set Wb= objExcel.Workbooks.Open (filepath)
Wb.worksheets(1).Cells(1,1).Value = “guru99” read value from Excel file

61) 如何创建 TSR 文件 UFT?

TSR 是测试共享存储库 (Test Shared Repository) 的缩写,是为了共享对象存储库而创建的。

要创建 TSR 文件,请按照以下步骤操作

  • 打开对象存储库
  • 转到文件菜单
  • 转到导出本地对象选项并选择它

之后, UFT 系统会提示您保存 .tsr 文件。请提供路径并保存。这将在指定位置创建 .tsr 文件。 UFT


62)如何连接到QC UFT?

要与质量控制部门联系, UFT 提供直接从 QC 连接的选择 UFT GUI。

a) 进入文件菜单

b) 选择(QC)质量中心

c) 系统会要求您输入 QC 网址

d) 输入用户 ID、密码和项目

按照上述步骤,您可以连接到 QC,稍后您可以从 QC 本身执行测试。


63)自动化框架有哪些类型? UFT?

为了简化测试自动化过程,使用 UFT测试自动化就是这样设计的。自动化框架主要有三种类型。 UFT

  • 关键字驱动框架: 当需要测试多种功能时使用它。
  • 数据驱动框架: 它使用不同的测试数据来测试相同的流程,测试数据比应用程序的多种功能更重要
  • 混合框架: 它是数据驱动框架和关键字的组合。

64)何时应该使用描述性编程? UFT?

可以通过对象库编程或描述编程来实现, UFT 识别对象。 Descriptive 编程用于以下场景

a) 它用于删除重复的对象。相同的对象存在于应用程序的不同屏幕或窗口中。如果在这种情况下使用 OR,则必须在 OR 中的不同对象层次结构下存储相同的对象。为了处理这种情况,描述性

编程

b) 在某些情况下,将对象存储在 OR(对象存储库)中并不合适。假设您想在页面上打印 100 个链接,则不应将所有链接都存储在 OR 中。相反,您应该使用 Descript离子编程来访问这些链接。


65) 什么是“settoproperty”?何时使用它? UFT?

Settoproperty 代表设置测试对象属性。您可以使用此属性在运行时更改对象值。您可以在运行时编辑属性值,但所做的更改是暂时的。


66) 如何在内存中创建字典数组 UFT?

我们可以使用语法创建一个字典数组

Dim ArrayofDictionary(2)
First element of array
Set ArrayofDictionary(0)= createobject("scripting.dictionary")
ArrayofDictionary(0).Add "key1", "temp1"
ArrayofDictionary(0).Add "key2", "temp2"
Added keys in first dictionary
Second element of array as dictionary
Set ArrayofDictionary(1)= createobject("scripting.dictionary")
ArrayofDictionary(1).Add "key1", "temp1"
ArrayofDictionary(1).Add "key2", "temp2"
Added keys in second dictionary…..and so on

67)“数组”和“字典”有什么区别?

排列 字典
动态数组是可能的 没有动态词典的概念
使用数组前必须设置数组大小 字典大小不需要设置
在向动态数组中添加额外元素之前,我们必须使用 redim 语句 要添加额外的元素,无需编写任何语句。我们只需使用 add 方法
如果不需要特定元素,则没有特定的方法来释放内存 不再需要的元素可以从字典中删除

68) 什么是 round 函数 UFT?

圆周函数 UFT 用于对小数进行四舍五入

举个例子

Mydecimal = 6.3433333
Roundedvalue= Round(Mydecimal , 3)
Print roundedvalue,  it will print 6.343

69) 如何查找网页表格中的总行数 UFT?

我们可以通过三种方式找到表中的行数。 UFT

a) 使用 rowcount 属性 UFT 网页表格对象

b) 使用 GetROProperty UFT

c) 使用 HTML DOM + UFT


70)如何在Excel中创建文件 UFT ?

步骤将创建一个 Excel 文件 UFT,

'Create a new Microsoft Excel object
Set myExcel = createobject("excel.application")
'To make Excel visible
myExcel.Application.Visible = true
myExcel.Workbooks.Add
MyExcel.worksheets(1).Cells(1,1). Value = “Scenario Id”
MyExcel.worksheets(1).Cells(1,2).Value = “Scenario Name”
MyExcel.worksheets(1).Columns(1).ColumnWidth = 10
MyExcel.worksheets(1).Columns(2).ColumnWidth = 40
MyExcel.worksheets(1).Columns(3).ColumnWidth = 20
MyExcel.worksheets(1).Columns(4).ColumnWidth = 20
MyExcel.SaveAs "c:\guru99.xlsx"
MyExcel.close
objExcel.Quit
blnFlag = False

UFT 7至10年工作经验者的面试问答

71)解释一下我们可以通过哪些方式将数据表导出到 Excel。 UFT?

将数据表导出到Excel有两种方法。

a)数据表.导出(“C:\export.xls”)

b) DataTable.ExportSheet “C:\mysheet.xls”(如果 excel 文件不存在,则创建新文件)


72) 在数据表工作表中 UFT如何读取单元格中的值?

要从单元格中读取值,我们需要遵循以下两个步骤

a)我们在第一步设置行指针

b)第二步,我们从表中定义要读取的参数/列名称

计费示例:

对于此示例,我们在交易表中将行指针设置为 2

Datatable.GetSheet(“Transactions”).SetCurrentRow(2)

现在,我们必须指定我们想要从交易表中的 module_name 列中读取一个值

Print datatable.Value (“Module_Name, “Transactions”)


73)有哪些可用的循环? UFT 他们做什么?

有 3 个环可用 UFT

a)Do…..Loop:Do Loop 将重复运行一段语句

b)For…..Next:For Next 循环将执行一系列语句,直到达到特定的计数器值

c)For……Each:为了对集合中的每个对象执行一系列语句,使用“For Each 循环”

While….Wend 循环:只要给定的条件为真,While Wend 循环就会执行一系列语句


74)需要处理哪些类型的错误? UFT?

人们在工作中会遇到三种类型的错误。 UFT

a) 语法错误

b) 逻辑错误

c) 运行时错误


75)有哪些方法可以处理运行时错误?

有多种方法可以处理运行时错误

a) 使用测试设置

b) 使用 on error 语句

c)使用 err 对象

d) 使用 Exit 语句

e) 恢复场景

f) 报告对象


76)exitaction 和 exititeration 有什么区别?

当我们想要退出某个特定动作时使用 Exitaction,而 exititeration 用于退出某个动作的特定动作迭代。


77)在 QTP 如何从字符串中删除空格?

您可以使用 替换函数 删除字符串中的空格 QTP

Print replace(“ sdsd  sd sd s “, “ “,”””)

输出将是 sdsdsdsds

Itrim 函数 如果只需要删除字符串中的前导空格,则可以使用它

打印 Itrim(“ sdsd sd s “)à输出将是 “Sdsd 标清 s

您可以使用 rtrim 函数从字符串中删除尾随空格

打印 rtrim(“ sdsd sd s ”)à输出将是“ sdsd sd s


78)在 QTP 如何获取字符串的最后一个字符?

Code 获取字符串的最后一个字符 QTP

print right( “junior,1) ‘ à Output will be “r”

79)如何在系统中添加同步点 QTP?

我们可以通过四种方式添加同步点。 QTP

a) 等待声明 :此语句将暂停执行 x 秒,直到对象出现

b) Wait 属性 :此方法将等待对象的属性获取特定值

c) 存在语句 :此语句将等待,直到对象可用

d) Sync 方法:代码将等待浏览器页面完全加载。对于 Web 应用程序测试,使用此方法。


80)在 QTP 解释什么是加密对象

密码对象 QTP 用于加密字符串。

句法

Crypt.Encrypt(“Guru99”)

示例:

在此示例中,pwd 变量中的值使用 Crypt.Encrypt 方法进行加密。

然后将该加密值输入到编辑框中。

pwd= “myvalue”
pwd = Crypt.Encrypt (pwd)
Browser(“myb”).WinEdit (“pwd”). SetSecure pwd

81)请说说 Execute 文件和 loadfunction 库之间的区别?

在执行文件中,语句是不能调试的,使用loadfunction库,语句是可以调试的,而且可以加载多个库文件。


82)解释如何找到数组的长度 QTP?

用于查找数组长度的代码 QTP is

print (ubound(arr)+1)

Ubound 返回数组中的最后一个索引 - 因此数组的长度将为 +1。这将是数组中元素的总数


83)请列举几种不同的录音模式。 QTP何时使用哪一个?

QTP 支持 3 种录制模式

a) 正常模式:这是默认的录制模式,用于大多数自动化活动。无论对象在屏幕上的位置如何,它都能识别它们。

b) 低电平录制模式:适用于录制普通模式下无法识别的物体。 QTP它会记录鼠标操作的确切 x、y 坐标。

c) 模拟模式:此模式适用于录制签名、绘制图片、拖放操作等操作。


84)通过什么方式可以从一个动作调用另一个动作?

有两种方法可以从一个动作调用另一个动作

a)调用动作复制:在此,脚本和数据表,动作对象存储库将被复制到目标测试脚本

b)调用现有操作:在此,不会复制脚本数据表和对象存储库,而是对源脚本中的操作进行调用引用


85)什么是可选步骤? QTP如何添加可选步骤? QTP?

运行测试时,测试失败,无法打开对话框。 QTP 不一定会中止测试运行。它会跳过任何标记为“可选”的步骤,并继续运行测试。默认情况下 QTP 自动将打开特定对话框的步骤标记为可选步骤。要在关键字中设置可选步骤,请右键单击并选择“可选步骤”。可选步骤的图标将添加到下一步中。在专家视图中,要添加可选步骤,请将其添加到 VBScript 语句的开头。


86)如何在……中定义数组 QTP?

数组可以通过三种方式定义: QTP

a) 固定大小数组 QTP

维度 A (10) – 单一维度

Dim MyTable (5,10) – 多维

b) 动态数组大小不固定

Dim MyArray()重新定义 MyArray(25)

c) 在数组中使用函数 QTP

A=数组(10,20,30)

B= A(2) ' B 现在是 30


87) 如何将上下文写入文本文件 QTP?

Content = “Guru99”
Set Fo = createobject(“Scripting.FilesystemObject”)
Set f =Fo.openTextFile(“c:\abc.txt”, 8,true)
f.Write (contents)
f.Close
Set f= nothing

88) 当使用“option explicit”关键字时 QTP?

明确规定所有变量必须在使用前声明 QTP使用了“Option Explicit”关键字。


89)在 QTP 如何退出for循环?

您必须使用“Exit For”语句来退出“for循环”。 QTP“Exit For”语句会将控制权从“for循环”中移出。

For count= 1 to 3
TempNum= mid(Tempstr,count,1)
If isnumeric(TempNum) Then
LenghtNum = LengthNum & TempNum
Else
Exit For
End If
Next
GetStrLenNumber = LengthNum

90) 如何查找数组大小 QTP?

数组的大小 QTP 将通过以下代码找到

打印 (ubound(arr)+1)

Ubound 返回数组中的最后一个索引 - 因此数组的大小将为 +1


91)在 QTP请解释一下什么是QRS文件?

qrs 平均值 “最快速恢复方案”通过使用恢复场景管理器,我们可以处理测试执行过程中的异常。 QTP 使用恢复场景管理器,我们可以处理测试执行中的异常。 QTP 创建恢复方案时,必须将其保存到 .qrs 文件中。.qrs 文件可以包含任意数量的方案定义。


92)“行动 0”的意义是什么? QTP?

当您创建新测试时,默认情况下会创建“操作 0”。 QTP 与动作 1 一起。为了确定调用其他动作 1、2、3 等的顺序,使用了动作 0。


93)解释如何替换字符串 QTP?

要替换字符串的一部分 QTP 我们将使用如下所示的代码。

例,

Str = (Guru99)
Suppose if you want to replace “99” with “88” then the code will
print replace(str,“99”, “88”) output will be “Guru88”

94)有哪些可用的自动化框架? QTP?

各种类型的自动化框架可用 QTP 旨在

a) 线性脚本

b)测试库 Archi结构框架

c)数据驱动测试框架

d)关键字驱动或表驱动测试框架

e)混合测试自动化框架


95)什么是“对象间谍”?对象间谍在游戏中的作用是什么? QTP?

“对象侦测”是以下一项功能: QTP 通过它可以查看测试对象和运行时对象的属性和方法。


96) 什么是“GetROProperty”,使用 GetROProperty 的步骤是什么?

“GetROProperty” 是一种内置方法,用于检索对象属性的运行时值。

要使用 GetRoProperty,需要四个步骤

a) 在对象存储库中记录要使用 GetROProperty 的对象

b) 识别可以使用的记录对象的运行时属性

c) 检索已识别的运行时属性并将值存储在变量中

d) 使用此值进行进一步扣除


97)解释如何求出下列数字的绝对值 QTP?

要找出某个数的绝对值,可以使用内置函数。 QTP 可

Example-   a= -1
Print abs(a) ‘output will be 1

此代码将找到数字的绝对值


98) 如何检查数据表中是否存在参数?

要检查数据表中是否存在参数,我们将使用代码

on error resume next
val=DataTable(“ParamName”, dtGlobalSheet)
if err.number<>0 then
‘Parameter does not exist’
else
‘Parameter exists
end if

99)在 QTP 请解释一下什么是关键词驱动自动化框架?

在关键字驱动的自动化框架中,重点主要放在关键字/函数上,而不是测试数据上。这意味着完全的重点是创建映射应用程序功能的函数。


100)在 QTP 如何使用 XPath 识别对象?

Xpath 只能用来识别 Web 对象。我们可以使用以下代码来识别对象。

Set oPage=Browser(“myGoogle”).Page(“myGoogle”)
oPage.WebEdit(“xpath:=//INPUT[@name=‘nameofeditbox’]”).Set “search term”
‘Enter value in google edit box

在这里您可以获得3个问题奖励:


101)解释如何删除Excel文件 QTP?

如何在 Excel 中删除文件 QTP,

Set fo = createobject(“Scripting.filesystemobject”)

fo.deletefile(“C:\xyz.xlsx”)

Set fo=nothing

102)哪些因素影响位图检查点?

位图检查点受屏幕分辨率和图像大小的影响。


103) 什么是无障碍检查点?

万维网联盟 (W3C) 为基于 Web 的技术和信息系统制定了一些说明和指南,以便残疾人士轻松访问网络。例如,标准强制要求图像必须有“替代文本”。因此,访问网站的盲人将使用文本到语音转换器,即使看不到图像,也至少能理解图像的内容。所有这些标准都由无障碍检查点进行检查。

QTP/UFT 认证测验 1

QTP/UFT 认证测验 2

QTP/UFT 认证测验 3

这些面试问题也会对你的口试有帮助

总结一下这篇文章: