Ask a Question

Help With Finding Objects/Controls Within a single (Dynamic) Page embedded Browser.

SOLVED
bdrummond
Contributor

Help With Finding Objects/Controls Within a single (Dynamic) Page embedded Browser.

Hi All,

 

I have difficulties trying to find controls/objects within a single (dynamic) page embedded browser - within a a desktop application. So far, the furthest i can manage is to achieve is to find this sole single (dynamic) page within an application.

 

Could anyone guide me or give me some tips and example on how to do this? With this in mind, I am a software tester and not a software developer, although I have written my own test using JavaScript/Jscript in Test Complete...I don't have an advance knowledge of coding. Below are the Specs/Screenshots/Code Snippets and so far what i have tried to achieve to answer my own question

 

  • The browser in question is called a toolbox in our App, and is written using HTML5 & JavaScript and uses Chromium Embedded Framework to allow this web technologies to be used in a WinForms application (one said; "...is like a Chrome browser without the menus") See the top image.
  • I have made sure that the following are met when working with Test Complete 12.20.935:  
    • Exposing CEF-Based Application (using libcef.dll library & application executable are located in the same folder).
    • Window Off-Screen Rendering is disabled.
    • Verify CEF Support. See 2nd Image
  • I have uses the Page (Window Objects) Method to find the URL of the browser (the toolbox in the App) and make sure that it is exist. I also tried different methods to find controls in the browser but to no avail. 

    The toolbox is built using Angular and the idea with Angular is that its a single page web app and in our case the URL is always index.html - and then the contents of that page change dynamically.

function Test()
{
   var ic = Sys.Process("IC").WinFormsObject("MDIForm1").WinFormsObject("MdiClient", "")
   .WinFormsObject("ChartForm").WinFormsObject("dockSite2")
   .WinFormsObject("barChartToolbox").WinFormsObject("ChromiumWebBrowser", "")
   .Window("CefBrowserWindow", "", 1).Window("Chrome_WidgetWin_0", "", 1);
   
   var page = ic.Page("charttoolbox://index.html/");
   
   if(page.Exists)
   {
      Log.Message(":) Yay");
   }
   else
   {
      Log.Error(":( Nay" );
   }
   
   //var pageObj = page.FindAllChildren(page, "", 1)
   //var pageObj = page.ChildCount;
   //var allChildern = page.FindAllChildren("charttoolbox://index.html/", "", 1);
}

 

  • I have tried to use 'Record Script' but it doesn't help as it uses X/Y Coord with Click() Method.. See 3rd image.

 

I think that's all the info I can give out. Everyone's inputs and suggestions are much appreciated and thanks in advance for reading this 'dead-end' issue to-date : (

 

BD

 

 

20 REPLIES 20

This now apparently included in the latest build - no need to insert a manual hook...

 

I have tried this using the latest Test Complete 12.40.2869.7 and it working as expected without any extra configuration.

 

BD

cancel
Showing results for 
Search instead for 
Did you mean: