`

QTP的那些事--ajax中的autocomplete的最终几种解决方案

 
阅读更多

1,最近测试中使用到了ajax的一个webedit自动填充的案例,想了好久,终于想到了一个解决的方案:

Set deviceReplay = CreateObject ("Mercury.DeviceReplay")

Browser("xx").Page("xx").WebEdit("xx").Object.focus

deviceReplay.SendString(str)

wait(10)

deviceReplay.PressKey(28)

 

 

 

2,第二种方法采用的是事件响应然后再敲击鼠标键盘,本人自己操作过,这个方法应该是比较好的,有一个论坛讨论了这个问题:

地址:http://www.advancedqtp.com/forums/index.php?action=printpage;topic=5594.0

代码设计如下:

dim str="s"

Set WshShell = CreateObject("WScript.Shell")
Browser("testapp").Page("testapp").Frame("mIfm-3").WebEdit("dispatchOpName").Set str
Browser("testapp").Page("testapp").Frame("mIfm-3").WebEdit("dispatchOpName").FireEvent "onclick" 'This simulate the mouse click event after value is set 
WshShell.SendKeys "{Down}" 'This displays the drop down list box
'wait 2
WshShell.SendKeys "{Down}" 'This hover over the first element in the list
'wait 2
WshShell.SendKeys "~" 'This selects the hovered element

3,采用的另外的方式;

3.1首先设置获得键盘的操作步骤,

Setting.WebPackage("ReplayType") = 2 'enable mouse operations

Browser(X).Page(Y).WebEdit(Z).Set "ann"
Setting.WebPackage("ReplayType") = 1 'enable keyboard operations
WshShell.SendKeys "{DOWN}" 'To hit the down arrow n times you can use "{DOWN n}" 'To Select element WshShell.SendKeys "~" 
4,其他的方式,暂时不写了。不过以上的已经可以解决大家所有的遇到的ajax的autocomplete的问题了。

5,如果以上的方案还不能够解决你的问题,可以尝试一下的一种方案,原始网页地址:

http://forums.testleaf.com/showthread.php?tid=633&pid=1324&language=settings

 

整理如下:

方法一:GetSuggestedOptionsArr(EditObj, PageObj, PartialText)

方法二:VerifyOptionsNumber(EditObj,PageObj, PartialText, ExpectedNumber)

方法三:IsInSuggestions(EditObj,PageObj, PartialText, SuggestedText)

方法四:SelectSuggestedOption(EditObj,PageObj, PartialText, SuggestedText)

方法五:TypeStringFromFirstToLast(EditObj, sText)

The GetSuggestedOptionsArr function simulates the "Auto Complete" behavior by setting a partial value to the search field and triggering the suggestion values retrieval by firing the "onkeyup" event. The Page.ChildObjects method is then used to get a collection of the returned values using a predefined description that uniquely identifies them:
set desc = Description.Create
desc("class").value = "cAutoComplete"
desc("micclass").value = "WebElement"
desc("html tag").value = "SPAN"
After the description is defined, it is used to capture a collection of the suggested possible values:
Set options = Browser("BrowserName").Page("PageName").ChildObjects (desc)
Example:
Create a reference to the Page object that contains the search edit field.
Set PageObj = Browser("Google").Page("Google")
Get an array with the possible search values
Dict = Browser("Google").Page("Google").WebEdit("q").GetSuggestedOptionsArr(PageObj,"a")
msgbox "The array contains " & UBound(Dict) & " suggested search strings."
Verify 10 suggestions were presented
result= Browser("Google").Page("Google").WebEdit("q").VerifyOptionsNumber(PageObj,"a",10)
msgbox "There are 10 suggested search strings: " & result
Check that "aol" is one of the returned suggested search values
bIsInSugg = Browser("Google").Page("Google").WebEdit("q").IsInSuggestions(PageObj,"a", "aol ")
msgbox "The value aol is in the suggested search strings: " & bIsInSugg
Get a vbNewLine delimited string of the suggested search options
txt = Browser("Google").Page("Google").WebEdit("q").GetSuggestedOptions(PageObj,"ca")
MsgBox txt
Enter the ab string character by character
Browser("Google").Page("Google").WebEdit("q").TypeStringFromFirstToLast "ab"
wait 2

 

6,完全靠模拟键盘的操作的方式:

地址:http://www.slideshare.net/Sampetruda/514785qtpoptionsetupdoc

 

来自http://www.cnblogs.com/juddhu/archive/2011/12/29/2306781.html

分享到:
评论

相关推荐

    qtp-java-addin

    破解java插件 (1)进入注册表,将HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive备份 (2)找到HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Add-In Manager\java,将名称为...

    QTP82-java-addin

    QuickTest Professional QTP82-java-addin

    QTP10.0汉化 --下载地址

    "QTP10.0汉化包"便是这样一种工具,虽然描述中提到是“部分汉化”,但即使是部分汉化,也能显著提高中国用户的工作效率,减少因语言障碍导致的理解错误。 在获取QTP10.0汉化包的过程中,用户通常需要找到可靠的下载...

    QTP源码--test源码

    【QTP源码--test源码】是一份与QuickTest Professional(QTP)相关的源代码集合,主要用于学习和理解QTP的自动化测试原理和实践。QTP,现已被命名为UFT(Unified Functional Testing),是HP(现在是Micro Focus)...

    qtp资料----帮助文档

    最后,QTP中还包含了一些辅助功能和技巧,例如如何识别grid中的button,如何参数化你的link,以及如何将日期转换为年龄等实际问题的解决方案。对于使用QTP进行自动化测试的人员来说,熟练掌握这些知识点将能显著提高...

    QTP 10.0 补丁-QTP_00599.exe

    QTP 10.0 补丁-QTP_00599.exe

    qtp代码框架------一位高手的杰作

    - **文件路径配置**:示例中通过硬编码的方式指定了Excel文件的位置(例如:"F:\work\ЭqtpԺ\Э(1).xls"),在实际应用中建议使用更灵活的方法来配置文件路径,比如通过环境变量或配置文件。 ##### 2. 日志处理 -...

    QTP11补丁 - 增强WPF对象识别以及问题修复

    QuickTest Professional(QTP)是HP公司推出的一种自动化测试工具,主要用于功能和回归测试。QTP11是其的一个版本,该版本在自动化测试领域具有广泛的应用。这次的补丁更新,主要针对的是WPF(Windows Presentation ...

    QTP11补丁 - 支持chrome浏览器补丁

    QTP11补丁 - 支持chrome浏览器补丁

    QTP学习历程--从工具使用到框架思想

    - **实战项目经验**:分享实际项目中遇到的问题及解决方案,提供实战经验和策略。 通过这份《QTP学习历程--从工具使用到框架思想》的学习,读者不仅可以掌握QTP的基本操作,还能建立起自动化测试的框架思维,从而...

    QTP65Using-Student-02B

    2. 录制与回放:QTP提供了一种简单易用的方式,通过录制用户在应用程序上的操作来创建测试脚本,然后回放这些脚本来执行测试。资料会指导你如何有效利用这一功能,同时避免因环境变化导致的回放失败。 3. 脚本编辑...

    AEC-Q102-003_Rev-_Combined QTP-Data-Superset_Template.rar

    AEC - Q102-003 Initial Release - Combined QTP-Data-Superset Template: Combined Qualification Test Plan, Qualification Data Presentation, and Superset of Tests(如 AEC - Q102-003 Rev- 中发布)

    QTP11补丁-支持chrome浏览器

    QTP11是其第11个版本,在当时是市场上广泛应用的自动化测试解决方案之一。随着Web技术的发展和Chrome浏览器的崛起,QTP11需要通过更新补丁来增加对新浏览器的支持,以满足用户在自动化测试中的需求。 "QTP11补丁...

    QTP Session1-2

    QTP Session1-2 推荐资料,2个PPT文件,但是很讲解全面,特别适合新手学习,有经验的也可以作为参考。

    QTP毕业论文-QTP在软件开发中的应用

    ### QTP在软件开发中的应用 #### 概述 QTP(Quick Test Professional)是一种...希望本文能为大家提供一个深入了解QTP及其在软件测试中应用的机会,同时也为那些准备撰写QTP毕业论文的学生们提供一定的参考和启示。

    QTP11补丁 - 支持IE保护模式

    QuickTest Professional(QTP)是HP公司推出的一种自动化测试工具,主要用于功能测试和回归测试,尤其在Web应用程序和桌面应用程序的测试中应用广泛。QTP11是该工具的一个版本,它提供了更加强大的功能和改进,以...

    QTP-TS-06数据库设计说明书V1-0.doc

    QTP-TS-06数据库设计说明书V1-0

    QTP实验二-飞机订票系统.doc

    【QTP实验详解-飞机订票系统自动化测试】 自动化测试是一种高效且准确的软件测试方法,它可以节省大量的人力和时间。QuickTest Professional (QTP) 是一款强大的自动化测试工具,广泛应用于各种软件应用程序的测试...

Global site tag (gtag.js) - Google Analytics