Ask a Question

Automation on Canvas Grid

mspatel
Contributor

Automation on Canvas Grid

Hi Web Application we are trying to Automate has a grid which as per Spy is Canvas Object. Object Spy can only see the whole Canvas as one object and cant see anything at row level or Cell level. Does anyone give some suggestion how we can do get to cell or Row level . Some Ideas that I already thought about are :

 

1 . Doing Coordinate based scripting . for Example , Call canvas.Click(237, 31) . This is not a option for us because contents of grid going to be dynamic and we have to lookup some text and then select the Cell.

2. Another some what vague options suggested to be is , if Developer Open up some methods for given canvas object and then we access row or columns 


11 REPLIES 11

I suspect you've had it I'm afraid.

 

Child count .... 0. Very few extended properties. Looks like it's just a plain old image file. Not sure if the grid properties will be stored in another object somewhere (devs could probably tell you that) else, in which case you may get lucky. But if they draw it all to a canvas, and then present the canvas to the front end as a single image, I doubt you'll get anything else useful from it as an object.

 

You could probably do something clever with image finding for the checkboxes and OCR for the text. But better so see if the grid is stored elsewhere first.

HKosova
SmartBear Alumni (Retired)


@Colin_McCrae wrote:

 

Looks like it's just a plain old image file. Not sure if the grid properties will be stored in another object somewhere (devs could probably tell you that) else, in which case you may get lucky. But if they draw it all to a canvas, and then present the canvas to the front end as a single image, I doubt you'll get anything else useful from it as an object.

 

You could probably do something clever with image finding for the checkboxes and OCR for the text. But better so see if the grid is stored elsewhere first.


Colin nailed it down.
 

While it's possible to render HTML into Canvas (it's rendered as an image), it might be that the real table object is somewhere else, and it's just overlapped by the canvas. Check other objects in the Object Browser and see if maybe one of them is the actual table.

 

Or maybe the grid data is stored in a global JavaScript variable on the page -- in this case you can access it as pageObj.contentDocument.Script.variableName.

 

If nothing else works, your only options are OCR and image search.


Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
cancel
Showing results for 
Search instead for 
Did you mean: