Chromium Embedded Framework, in short, CEF is a framework used by many applications including Spotify, Kaspersky Security Scan, Tencent QQ, Adobe Acrobat, among others. It is open an open source framework, released back in 2008, allowing developers to implement an HTML5-based layout in desktop applications and web controls.
[Tweet “Here’s how to run Selenium tests using Chromium Embedded Framework (CEF).”]
How to Test Applications?
You can test CEF applications in various ways. Ranorex is a paid program that can test web content on desktop apps, based on chromium frameworks such as NW. JS, CefSharp, Electron, CEF, and QtWebEngine. It is great to use the program because of the numerous supports they offer. However, you have to pay to use the platform. Alternatively, you can download and use the trial for a limited test.
Is there any alternative out there of software automation? Selenium is a great alternative used mainly for web applications. The good thing is that it’s free to use and supports numerous languages. In addition, it is cross-platform facilitating tests in Firefox, Chrome, Android, iPad, Internet Explorer, and iPad.
Selenium tests happen in the IDE, previously known as the Selenium Recorder. Programs currently supported include C#, Java, Groovy, PHP, Perl, Python, Ruby, and Scala. Firefox comes bundled in the Selenium framework. For Chrome, you have to install a ChromeDriver, which is an .exe file. Selenium should be able to run with a CEF based application that results in an .exe file.
Thus Are Selenium Tests in CEF Possible?
Yes, it is possible. Further exploring the issue, ChromeDriver works by communicating with the Chromium-based application. This is possible through DevTools remote debugging protocol. Depending on the programming language you are using, there are various procedures to use. In case you are using Java, find the detailed tutorial here. It explains how to test CEF apps on windows similar to other websites.
In most cases, you have to install ChromeDriver, an executable Webdriver that controls chrome. You can then use it to implement both CEF3 and CEF1-based applications. However, some users are finding error when running CEF3. Details of how to successfully use run the chromium-based desktop apps; please refer to the detailed guide here. It covers all aspects of installation, and address problems that result during implementation.
Being relatively young, CEF request for software to contribute towards its stability. If in any way you feel like raising an issue you can use the CEF issue tracker to vote. It helps the development team in their prioritization. That also applies to any bugs you encounter, which are reported on the Forum. All in all, the open source program provides an excellent way to add web browser capabilities to software and game.
Nikolay Advolodkin is a self-driven SDET on a lifelong mission to create profound change in the IT world and ultimately leave a legacy for his loved ones, community, and the world at large. Today, he serves as the CEO and Test Automation Instructor at UltimateQA.com and contributes informative articles to leading test automaton websites like SimpleProgrammer.com and TechBeacon.com