• 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

    7。最精华就是下面的这个地址,里面有所有的有关DOM的使用方法,及其常用的一些函数,可以说,这个是大师的经验代码啊。


    作者:高级测试开发网
    博客地址:https://seniortesting.club
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    go-go协程
    linux-pclint代码检测
    linux-32位-交叉编译openssl
    go-json类
    mysql-定时任务
    go-IO操作
    go-异常处理-error-panic-recover
    go-defer语句
    go-select
    go-指针
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2306781.html
Copyright © 2020-2023  润新知