Pending Review
Last Updated: 17 Dec 2019 12:07 by ADMIN
Efficio
Created on: 13 Dec 2019 15:28
Type: Feature Request
0
Don't require simulating real typing in a RadSearchBox

It would be nice if there was a way to avoid simulating real typing for a search box.  There is no option to enable/disable it, but it is clearly using this behavior.  I've tried a workaround of entering text directly in the input element, but it doesn't seem to register it when this technique is used.  I don't see how a textbox can be made to work without this behavior but a search box cannot.

Simulating real typing tends to be the most fragile part of our tests, and all we really need is to enter text and then search.  It also slows down the tests quite a bit vs. just setting the text directly.

3 comments
ADMIN
Plamen Mitrev
Posted on: 17 Dec 2019 12:07

Hello,

Thank you for elaborating on the concerns that you have and the troubles that you have met.

I hope that your other feature request to add the ScrollToVisible option for RadSearchBox and other translator actions, will help make a stable test scenario. This feature allows you to simulate the real user actions, like typing text into the search box. As you mentioned, the user will normally do the following:

  1. Scroll the page until the search box is visible. In Test Studio we skip the scenario, where the element is already visible, because figuring this out will take more time than forcing the page to scroll. In addition to that, it is not covering all cases and might need to scroll after that anyway, which also slows down the test execution. That said, we will consider this feature request for future optimizations.
  2. Click on the search box with mouse click.
  3. Enter text from the keyboard.

This is what we try to replicate with the simulated real user typing feature and I agree that this is causing some issues with the static headers. We are working on the missing ScrollToVisibleType for RadSearchBox and other translator actions and I hope that they will be improved for our next release.

You are right that the TypingSpeed is actually a delay between each keyboard press of the different characters and it has been optimized to 150 ms. You can try to lower that for a slightly better result. On the other hand, the Typing Delay on input elements is the delay of Test Studio, before entering the text directly into the element, using Java Script.

I hope that you will find the above details helpful. Please do not hesitate to contact us again, if any questions arise, or your need any help.

Thank you for your details feedback.

Regards,
Plamen Mitrev
Progress Telerik

 
The New Release of Telerik Test Studio Is Here! Download, install,
and send us your feedback!
Efficio
Posted on: 16 Dec 2019 15:58

This isn't currently preventing me from progressing with developing tests, but I'm just thinking about how things are working and trying to make my tests more stable and performant.  I'm also trying to avoid doing things one way and then having to go back and redo them later in a better way once the problem becomes more pronounced.

Outside of the fragility it introduces which I've worked on using functionality in the software, and you've helped with by providing workarounds where needed, there is the issue of performance.  With just a test of one page that does a few searches it becomes significant, and we have many search pages which we expect to have test coverage for in the future.

I understand it is triggering events after each keypress, but in this scenario I'm interested in any of them.  Am I missing a better way of doing things here?  Why couldn't it simulate a paste operation into the control and then trigger the events at the end?  This is possible in real world scenarios as a user can paste an entire string and then click the search icon and the control works.  I can record a paste action, but it only records it as a keystroke.  Maybe there is a way to data bind this somehow or record a paste action that has the actual data as context (really don't want to use code for something so simple).

I created a simple test case of just a single search box, and the typing is slow.  I figure some of this may be due to the computer and browser being used, but the tests are being run on a server with a lot of resources.  I attempted to change the typing speed, and if I change it to 1,000 ms I can see that it slows the typing down and that "typing speed" means delay.  The default is 150 ms, and if I go lower than that it doesn't seem to go any faster which seems to indicate it is hitting some sort of limit.

Also, I noticed that the settings for simulate real typing may not be consistent across controls.  For example, for search box the setting is "TypingSpeed" and for a text input element it is "Typing Delay", but both appear to mean the same thing.

ADMIN
Plamen Mitrev
Posted on: 16 Dec 2019 11:38

Hello,

I will share details about the use of SimulateRealTyping option across different types of elements, like RadSearchBox and normal TextBox. Please find more information below.

The simulated real typing is happening out of the box for RadSearchBox and other controls, because there are some Java Script events that need to be triggered. Test Studio tries to trigger those events, as a real user would do, during normal use of the application under test. This is why there is no option to disable the simulated real typing for test steps against such controls.

The normal TextBox has different implementation and might not need to trigger specific events. This is why directly injecting the text into the element with Java Script works fine. It is a slightly quicker method, than simulated real typing, but is not applicable for all scenarios.

I will be glad to explore a sample of the application that is causing you troubles and continue our discussion.

Thank you for sharing your feedback and suggestion.

Regards,
Plamen Mitrev
Progress Telerik

 
The New Release of Telerik Test Studio Is Here! Download, install,
and send us your feedback!