Question WebView (EdgeHTML) for Windows 10 apps using OpenEdge

Cecil

19+ years progress programming and still learning.
Hi Guys,

With the advent of Internet Explorer going to be deprecated in the next year (possible removed from Windows 10). I was wondering if anybody has developed using the MS WebView?

I want to be able to do the following:
  • open a webpage
  • set the position and dimensions of the web browser on screen
  • detect when a web page has loaded/rendered
  • detect when the web browser has been manually closed
  • detect when the navigation of a page has changed
  • programmatically close the web browser

I can currently do all of this (list above) now with Internet Explorer using Com-Object but, I want to be able to do this using Edge.

REF: Microsoft Edge WebView for Windows 10 apps - Microsoft Edge Development


Thanks in advance.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
With the advent of Internet Explorer going to be deprecated in the next year (possible removed from Windows 10)
IE may get no new updates but I doubt it will ever be removed. Microsoft didn't remove it when Edge launched because lots of enterprise web applications and intranet portals require it.
 

Cecil

19+ years progress programming and still learning.
Just to add more context. The other major factor from moving away from IE is because the authenthentication sevice that I consume for OAuth is being upgraded and will not work with IE by design.
 

Cecil

19+ years progress programming and still learning.
Good news. MS have not uninstalled the Internet Explorer as part of the upgrade of MS Edge (running on chromium). So, I can continue using Internet Explorer for the interim until I figure out how to programmatic use MS Edge with OE.
 

Cecil

19+ years progress programming and still learning.
I’m unable to find class object because it not digitally signed .
I have to recompile the class assembly object and have it digitally sign. I don’t know how to do that.
 

Cringer

ProgressTalk.com Moderator
Staff member
Mike Fechner will be doing a talk on how to use Chromium Embedded for the UK Pug in the not too distant future. It's not Edge, but it's a really nice way of integrating a web browser into your application, and you can respond to events in it too from the ABL.
 

genius-

New Member
Mike Fechner will be doing a talk on how to use Chromium Embedded for the UK Pug in the not too distant future. It's not Edge, but it's a really nice way of integrating a web browser into your application, and you can respond to events in it too from the ABL.

Thanks, will be looking forward to this.
 

Osborne

Active Member
Cecil, I have not used this component so cannot offer any help, but having a quick look I do not get the Syntax error.

This is what I did:

1) As per the C# instructions from this site - microsoft/edge-selenium-tools - I downloaded the two packages:


2) Unblocked the Microsoft.Edge.SeleniumTools.dll and WebDriver.dll files found in the net45 folders and added to assemblies.xml.

3) Found that either of these options gave no syntax error:

1613744183102.png

1613744256144.png
 

Cecil

19+ years progress programming and still learning.
Hi @Osborne , thanks for that. I have been able to get the code working....sort of.

It seems to me the when calling the EdgeDriver() Contructor, the code goes into 'blocking mode' until I close the browser.
What should happen is when calling a new instance of the EdgeDriver it should folk the process.

Not sure if this is a limitation of the ABL .NET bridge??

testing on OpenEdge 11.7 64bit
 

Osborne

Active Member
It could be a limitation of the ABL .NET bridge, and if so maybe not being multi-threading:


With not having a chance to work with the component not sure of the exact problem, but noticeable that this site says the browser has to be closed which is what you seem to be having to do:

To automate a browser using WebDriver, you must first start a WebDriver session using your preferred WebDriver language binding. A session is a single running instance of a browser controlled using WebDriver commands. Start a WebDriver session to launch a new browser instance. The launched browser instance remains open until you close the WebDriver session.

However, if you do not have to do this with other languages then it would appear to be an OpenEdge limitation.
 
Top