Autocomplete dropdown list not displayed with qtp for webedit
I have a problem in my web application automation with qtp. QTP is setting value in the Edit box. But drop down list is not displayed while doing with QTP. If we are trying manually then list is getting displayed..
Please let me know is there any patch required to make it work.
These types of issues are usually not related to an actual bug in UFT/QTP, hence no patch has been, applied to fix this, nor is needed.
However, there are scenarios where there are inconsistencies in how you manually alter an object and how UFT/QTP does it. This is due to the fact that when you are working with it manually, you are manipulating the actual object by clicking and adding characters in it. Through UFT/QTP on the other hand, the automation is altering directly on the underlying DOM-structure.
This means that when you are manipulating an object through automation, these activities are not triggered as intervening with the actual object and the autocomplete dropdown will therefore not be presented.
To actually trigger the autocomplete, I would suggest you to look into solutions that do these types of manual manipulation. Some examples are found in the other forum thread you posted in: Autocomplete dropdown list not displayed with qtp for webedit.
Joe Colantonio do also have a really good overview for the different ways to intervene with the system: 3 ways to use keyboard input in QuickTest Professional: Type, SendKeys and Device Replay.
Also I am passing another option to try it out - BLUR event. More reliable than send keys if it works for you.
All the thoughts here are mine not related to my employer nor anyone.
Test Automation Ecstasy
This can be done by using Shell script. Create your shell object, click your edit button using shell and then sendkey you string value to that field.
Set WshShell = CreateObject("WScript.Shell")
'you should be seeing the autocomplete option from here (dropdown of values)
Set WshShell = Nothing
Note: you may not see it in debug mode as you're going to lose focus on your application. Better to do normal run.