可能是一个粉碎的故事 - QTP似乎无缘无故地浪费了我们的工作时间: 考虑此脚本,具有一个恰好的一个全局行的数据表,其中26列名为" A"至" Z",其中包含任何值: Print "Started" Services.StartTransaction "Simpletest" Set G=DataTable.GetSheet ("Global") For J=1 to 26 For I=1 to 100 Set P=G.GetParameter (Chr (J+64)) If P.Value = "Hi" Then End If Next Next Services.EndTransaction "Simpletest" Print "Ended" 在QTP 10下执行此操作 15.1秒在我的爆破器上. (当然,动画运行是关闭的.) 现在,我使用qtp的bin文件夹中的mmdrv.exe执行此操作
以下是关于 qtp 的编程技术问答
我正在设计一个QTP框架,其中自动化工程师发送电子邮件以启动测试套件执行(可以使用MS Outlook安排电子邮件) 收到触发邮件后,应使用Outlook Macro 的适当设置(自动)(自动)下载附件和QTP. 但是在上述情况下 有什么方法可以引用触发宏的邮件? 目前这就是我正在做的. Sub TestSuiteInitialilzer(mail As Outlook.MailItem) Set ns = Application.GetNamespace("MAPI") Set Inbox = ns.GetDefaultFolder(olFolderInbox) Set objDestFolder = Inbox.Folders("RAN") FileName = "C:\Email Attachments\" & mail.Attachments.Item.FileName 'Download the atta
在多个论坛上询问了如何从UFT/VBScript连接到Oracle数据库的问题.在大多数地方,有零碎的答案,没有任何详细的答案可以帮助用户获取此信息. 我花了将近6天的时间来实现这一工作,因此我认为在这里分享所有详细的步骤.我发现这是错误的主要原因是一个或多个以下的错误组合: 使用错误的驱动程序. 使用错误的连接字符串. 使用错误的终端测试代码(即64位用于测试32位UFT) 当上述任何一个错误时,我们会根据我们使用的驱动程序,连接字符串和终端来获得一系列错误.我遇到了: 找不到提供商.它可能无法正确安装(在使用Microsoft ODBC为Oracle时) 'oraoledb.oracle.1'提供商未在本地计算机上注册(尝试使用OraoledB驱动程序时) 灾难性的失败. (在64位终端运行工作脚本时) 希望以下答案将为您提供参考的逐步答案,以及代码考试以尝试您的代码并为您启动并运行. 解决方案 我花了5天的时间才能正确工作,尽管互联
我正在使用一个.vbs文件,其中我使用以下代码行并运行一些查询. Set cm = CreateObject("ADODB.Command") cm.ActiveConnection = "Driver={Microsoft ODBC for Oracle};Server ="+sInst+"; UID="+sUID+";PWD="+sPWD cm.CommandType = 1 cm.CommandText = sSQL cm.Execute() Set cm = Nothing 对我来说奇怪的事情是,当我将这些行复制到QTP并从QTP运行时,它的工作正常. 但是运行.vbs文件(通过双击和从cmd进行)时,它给我以下错误: [Microsoft] [ODBC驱动程序管理器]找不到数据源名称,未指定默认驱动程序 我有其他机器都可以正常工作.我尽了最大的努力来验证机器中的所有东西,但我没有得到. 我感谢任何想法/帮助/建议. 谢谢. 快速更新:
在关于qtp 的博客,以下说明: "所有软件应用程序和网站都使用许多不同的组件或小型单元(例如VB中的文本框控件,HTML中的输入标签,WebBrowser contorl在.NET中)开发出来. . 可以在运行时更改某些属性.这些被称为RO(运行时对象)属性.其中一些无法更改.它们被称为(测试对象)属性." 这个解释正确吗? 解决方案 要了解测试对象和运行时对象之间的差异,它有助于在计算机外思考. 想象一下,如果您愿意的话,您坐在桌子旁,您渴了.但是您不能自己去休息室,从苏打机那里喝酒.因此,相反,您抓住了实习生,给他一些硬币,然后将他送到休息室给您喝酒. 这个特殊的实习生非常新,因此您必须向实习生解释您希望他们逐步做的事情. 您的脚本非常简单: 1) go to "the break room". 2) go to "the machine" 2) insert coins into "the coin slot" 3) press
我们需要将QTP与Hudson集成,以自动调用Hudson中部署的代码的测试套件.构建过程基于Maven. 有什么插件或其他可以实现的方法吗?我们听说了哈德逊的Groovy插件.我们可以用Groovy脚本执行它吗? 解决方案 哈德森不运行测试,它采用输出并生成一个不错的报告.您应该查看如何使Maven运行测试,然后让Hudson接收输出生成报告. 正如迈克尔所说, 其他解决方案 这是一个毛门的整合问题,而不是哈德逊.我不知道QTP的Maven插件,但是您可以使用这是您可以使用的配置的示例: org.codehaus.mojo exec-maven-plugin 1.1.1 exec
我们必须从Jenkins运行QTP VB脚本作为CI的一部分 可以建议我什么是最好的整合方法? 高级谢谢 谢谢 解决方案 詹金斯可以运行任何可以从命令行运行的东西,您可以创建qtp 自动化对象: Dim Application Set Application = CreateObject("QuickTest.Application") Application.Launch Application.Visible = True Application.Open "testfile", True Dim Test Set Test = Application.Test Test.Run 如果您搜索quicktest.application您会发现很多示例. 您可以使用 windows batch命令使用 cscript interneTer.
我需要利用我们的Maven/Jenkins构建的Quick Test Pro.我知道,我知道QTP并不是那里最好的工具(我被"炸弹狗的袋子"感到高兴参考),但是我们的量化宽松团队正在使用它,我想在詹金斯(Jenkins)进行一些测试. 1a.有人使用了这种特定的组合吗?示例/Maven插件很棒. 由于我怀疑这很可能,让我们将其分解成碎片. 2a.您如何简单地从命令行启动QTP测试?我想我可以使用Antrun或类似的东西来确定其余部分的启动部分. 2b. QTP的结果格式似乎不是像Surefire报告这样的标准(我都不知道,所以我可能错了).您能给我一些有关将报告结果恢复到Maven/Jenkins的指导吗?我认为这可能涉及解析QTP结果文件. 解决方案 可以写入AOM(自动化对象模型)VBScript以调用QTP并运行特定的测试. 这样的vbScript可以从Windows中的命令行运行. 如果您可以从Maven/Jenkins运行/调用VBScri
我有一个使用.NET Technologies创建的应用程序/产品.该产品具有GUI,该GUI使用Web API(应用程序服务器上的SOAP)连接到DB.大多数测试是针对DB中的值执行的,而其他测试可能属于可用性,性能等.因此,要执行的60-70%的测试是要验证DB中的值是否正确显示在GUI上,其他人测试GUI是否在要求规格中根据需要工作. 测试的另一个方面还将测试使用DB和GUI的后端应用程序服务器接口.因为这将使我们能够确定App Server是否向GUI发送不良值,或者是具有不良值的DB! 产品UI不会发生太大变化,除了以其他下拉菜单项和这些菜单项的其他页面的形式添加新功能. 考虑上述,哪个框架更合适? QTP或硒或其他商业/开源工具? (成本不是主要问题,浏览器兼容性也不是OS.系统在Windows Server上安装,并且DB兼容.) 解决方案 我们有一个接受测试的"框架",以测试我们的应用程序,该应用具有与Java + DB后端对话的Flex
如何通过编辑器视图在代码中添加评论?我知道这是一个简单的问题,但我无法弄清楚,这似乎是Google的几乎不可能的. 我尝试了一些标准评论类型,它们都没有起作用: // /* */ # -- 我知道我可以将文本添加到一个动作的描述属性中,但是我想根据需要评论我的代码中的特定行. 解决方案 您的意思是您看到生成的代码的专家视图吗? 您可以为此使用单个报价字符: ' The user needs to be informed that the test is ready to run, so ' he can take appropriate actions before continue or Cancel if needed. If MsgBox("The test is ready to start.", VbOKCancel) VbOK then ExitTest End If 评论/未点击块的快捷方式:ctrl+m和ctrl
Dim sTestCaseFolder, strScriptPath, sQTPResultsPath, sQTPResultsPathOrig sBatchSheetPath = "D:\Project\Driver Script\Batch.xls" sTestCaseFolder = "D:\Project\" sQTPResultsPathOrig = "D:\Project\Result\" '========== Create an object to access QTP's objects, methods and properties ========== Set qtpApp = CreateObject("QuickTest.Application") 'Open QTP if it is already not open If qtpApp.launched True Then qtpApp.Launch End If qtpApp.
在某些情况下,我需要从命令提示符启动和运行QTP测试.例如,我想使用Windows Task Scheduler在整个晚上的不同时间运行QTP测试,但是(似乎)没有标志可以使用QTP.EXE打开并运行测试.我该如何完成? 解决方案 的确,使用QuickTest Pro,您不能直接通过调用C:\Program Files (x86)\HP\QuickTest Professional\bin\QTPro.exe "C:\Some Test\" 直接运行测试 但是,所有希望并没有丢失.有一种方法可以创建一个小型VBS文件,该文件可以在调用该VBS文件时运行任何任意QTP测试. 这比为每个测试创建一个批处理文件要好得多. '******************************************************************* 'RunThisTest 'by Michael Innes 'November 2012 testResourcePa
我正在使用QTP(因此VBScript),我似乎对CDATE函数有问题. 当我在马来西亚的同事正在使用它时,就没有问题. 当我在西班牙使用它时,我会有以下错误. 现在我要问 有人知道这一点吗? 预先感谢. 解决方案 该错误指定了问题. todateObject.GetROProperty("value")包含一个值 cdate 不认识到日期. 您需要首先确定todateObject.GetROProperty("value")返回的内容,然后确保可以转换为日期. 您可能需要考虑使用其他解决方案 cdate()试图将其输入转换为日期,考虑到该语言环境设置.请参阅: >> SetLocale "en-us" >> WScript.Echo GetLocale() >> WScript.Echo 1, CDate("1 dec 2011") >> WScript.Echo 2, CDate("1 dez 2011") >> 1033 1 01.1
我的基于Web的应用程序(大多数)遵循浏览器语言环境的格式日期. 因此,如果您将英语英语配置为浏览器中的首选语言,则该应用将以" DD/MM/YYYY"格式显示日期. 现在QTP(好吧,是罪魁祸首)对此不知道.它严格遵循当地机器的语言环境设置. 不幸的是,这意味着,如果我的本地计算机配置为德语语言环境,并且该应用程序使用英语(因为浏览器是以这种方式配置的),则VBScript的DateValue函数将失败(因为它期望它会" "格式. 那么,将自动放置日期值转换为本机VBScript日期的优雅方法是什么,以便我可以进行日历计算和检查? 除了将当前用户的语言环境切换到与浏览器语言相匹配的网站之外,我不会看到一个解决方案,该解决方案避免了自己本人为各种语言编写解码器/编码器 - 看起来像一个巨大对我过度杀伤. 例如,DateValue变体可以明确指定使用的语言环境将很棒.有这样的东西吗? 通常,它不仅与日期有关,而且根据语言环境(时间规格,货币金额,浮
我正在研究一个项目,该项目需要在运行时间动态导入测试数据并运行与测试数据相对应的API测试. 我尝试使用XMLLOAD直接从XML请求加载的XMLLOAD.这似乎很好. 但是,就像我们导入测试数据的GUI测试一样,我希望对API测试进行相同的操作 - 我可以在其中动态从外部源导入Excel并将值输入请求. 我该怎么做? 解决方案 据我了解您的问题,您想从Excel文件加载测试数据.这就是我在以前的项目中所做的,但几乎没有什么不同,所以我希望这对您有用. 这些步骤将帮助您从Excel文件中驱动测试,您将提供请求XML文件和其他测试数据的位置,例如: 执行标志 WSDL 终点地址 环境 等... =================================================== ======================== 从Excel文件导入数据的步骤: Open Data 窗格(查看 - >数据) 单击
我试图从QTP调用C#DLL(使用VBScript).我尝试了很多事情,没有成功: Visual Studio 2010 创建C#类Libary(St.Dll) 代码: using System; using System.Collections.Generic; using System.Text; namespace st { public class Class1 { public static int GetValue() { return 34; } } } regasm /codebase st.dll 失败',因为它不是有效的.NET组装' 在qtp/vbscript中,我尝试了 extern.Declare micInteger, "GetValue", "e:\st.dll", "GetValue" 返回消息:'无效过程调用或参
I have VBScript code which launches QuickTest Professional, executes a series of QTP tests, and emails the results. This works well, but I would prefer to use a language with better tools support (a good IDE for example). I am currently calling .Net libraries from the launch script, so I was wondering if it was possible to use a language like C# to accomplish the same task. If so, are there any good resources which address this? I could find very
我创建了一堆UFT 12(EX QTP)测试,我还创建了一个批处理文件以运行这些测试. 当我在本地运行批处理文件时,测试正常运行. 这是我使用的脚本: Set qtpApp = CreateObject("QuickTest.Application") Set fsObj = CreateObject("Scripting.FileSystemObject") Set qtpResObj = CreateObject ("QuickTest.RunResultsOptions") qtpApp.Launch qtpApp.Visible= true sfolderPath = "C:\QA\ManagerForOracleDB" Set mainFolderObj = fsObj.GetFolder (sfolderPath) Set testSubFolders = mainFolderObj.SubFolders sPath = "C:\&formatDa
以下是我用来启动QTP的代码,它与IE合作良好,但在Chrome中却不能. 我通过Chrome开放的更改是什么 var qtApp = new ActiveXObject("QuickTest.Application"); qtApp.Launch(); // Start QuickTest qtApp.Visible = true; 解决方案 Microsoft的VBScript与COM集成在一起,UFT也公开了COM接口,这就是为什么您可以使用VBScript从HTML启动UFT的原因.但是,Chrome不支持VBScript,JavaScript并未与COM集成(至少不是Chrome的JavaScript). 因此,我认为使用Chrome从HTML页面启动UFT没有一种简单的方法.如果您编写Chrome Extension,这是可能的,但我认为这是不值得的. 其他解决方案 做到的一种方法是创建ASP.NET网站,ASP.NET将支持使用