seangriffin Posted June 28 Author Posted June 28 (edited) 📢 Announcing Enterprise Mode — An extra Automation Architecture for the CDP UDF A major new feature has been added to the CDP UDF: Enterprise Mode, a layered automation model designed for system‑level and acceptance‑level testing. ✔ UI Script Layer Modular page‑level automation under UI\. ✔ Functional Area (FA) Layer Business‑process automation under FA\. ✔ Hierarchical Datapools CSV‑driven test data across Release → Environment → Functional Area tiers. ✔ Enterprise Logging High‑precision datetime stamps and full script call‑chaining logs showing caller script, callee method, and line numbers. Enterprise Mode allows you to build scalable, maintainable automation that mirrors real business workflows while keeping UI automation clean and modular. This is an optional feature you can enable with the line: $cdp.config.enterpriseMode = True Examples are now available in the GitHub repository. Look for: Example Enterprise Mode Acceptance Tests.au3 Example Enterprise Mode System Tests.au3 Documentation will be added in due course. Edited June 28 by seangriffin gmmg, ioa747, mLipok and 1 other 4 Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
alb19542006 Posted Tuesday at 09:09 AM Posted Tuesday at 09:09 AM Thanks for this, it has great potential! Would it be possible to see an example using this with Edge Chromium?
seangriffin Posted yesterday at 05:28 AM Author Posted yesterday at 05:28 AM 20 hours ago, alb19542006 said: Thanks for this, it has great potential! Would it be possible to see an example using this with Edge Chromium? I expect that would be possible. I know MS Edge is built on chromium so I would expect the underlying devtools protocol is the same. Thanks for the suggestion I'll look into it. Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
seangriffin Posted yesterday at 05:33 AM Author Posted yesterday at 05:33 AM 📢 New Feature: Built‑in Video Capture for CDP UDF A new feature has been added to the CDP UDF: automatic video capture of test runs using Chrome’s Page.screencastFrame stream and a lightweight FFmpeg‑based recorder. This makes it easy to record UI behaviour during tests, debug failures, and archive visual evidence of test runs. 🎬 How to enable video capture A new configuration flag has been added: $cdp.config.video = $CDPVIDEO_ON Setting this to ON enables video recording for any test block. 🧪 How video capture works Video capture automatically starts when you enter a test block: With test("Basic Inputs test") ; your test steps here EndWith And automatically stops when the EndWith is reached. No extra commands are required. 📁 Where videos are saved Each test run writes its video to: test-results\<test name>\video.webm For example: test-results\Basic Inputs test\video.webm This keeps videos neatly organised per test. 📟 Console output At the end of each test, the runner prints a message showing the full path of the captured video: 🎥 Video: C:\...\test-results\Basic Inputs test\video.webm This makes it easy to locate and open the recording after the test completes. 📄 Example script included A new example script has been added: Example Video Capture.au3 argumentum and ioa747 2 Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
gmmg Posted yesterday at 10:58 AM Posted yesterday at 10:58 AM @alb19542006 in the CDP.udf, you can see the Settings for the _CDP_Browser_Launch. I think, you can change your favorite ChromeBrowser there. Func _CDP_Browser_Launch($oSelf, $browser = Default, $port = Default, $startupSwitches = Default, $profile = Default, $windowSize = Default, $clearCookies = False) if $cdp.config.infoPopups = True Then SplashTextOn("AutoIt CDP", "Preparing browser ...", 420, 120) if $browser = Default Then $browser = @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" if $port = Default Then $port = 9222 if $startupSwitches = Default Then $startupSwitches = "--no-first-run --no-default-browser-check --disable-gpu --disable-dev-shm-usage --disable-extensions --disable-background-networking --disable-renderer-backgrounding --disable-sync --metrics-recording-only --mute-audio --hide-crash-restore-bubble --noerrdialogs --disable-infobars --disable-popup-blocking --enable-automation --silent-launch" if $profile = Default Then $profile = @ScriptDir & "\chromeprofile" if $windowSize <> Default Then $startupSwitches = $startupSwitches & ' --window-size=' & $windowSize KR, gmmg
alb19542006 Posted 22 hours ago Posted 22 hours ago 2 hours ago, gmmg said: @alb19542006 in the CDP.udf, you can see the Settings for the _CDP_Browser_Launch. I think, you can change your favorite ChromeBrowser there. Func _CDP_Browser_Launch($oSelf, $browser = Default, $port = Default, $startupSwitches = Default, $profile = Default, $windowSize = Default, $clearCookies = False) if $cdp.config.infoPopups = True Then SplashTextOn("AutoIt CDP", "Preparing browser ...", 420, 120) if $browser = Default Then $browser = @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" if $port = Default Then $port = 9222 if $startupSwitches = Default Then $startupSwitches = "--no-first-run --no-default-browser-check --disable-gpu --disable-dev-shm-usage --disable-extensions --disable-background-networking --disable-renderer-backgrounding --disable-sync --metrics-recording-only --mute-audio --hide-crash-restore-bubble --noerrdialogs --disable-infobars --disable-popup-blocking --enable-automation --silent-launch" if $profile = Default Then $profile = @ScriptDir & "\chromeprofile" if $windowSize <> Default Then $startupSwitches = $startupSwitches & ' --window-size=' & $windowSize KR, gmmg @gmmg Thanks, I saw that and have been trying to get it to work with Edge, but I must be doing something wrong - no luck so far. I will keep trying though.....lol BR, alb19542006
gmmg Posted 4 hours ago Posted 4 hours ago (edited) Hello @alb19542006, for a test, a copied the CDP.au3 to CDP_Edge.au3 and changed the Line from chrome in msedge. (line 456) ;if $browser = Default Then $browser = @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" if $browser = Default Then $browser = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" In the script self, i changed also the include to #include "CDP_Edge.au3" And it works. Greetings, gmmg Edited 4 hours ago by gmmg
gmmg Posted 4 hours ago Posted 4 hours ago A better way is to edit the CDP.au3 and add the following code in the _CDP_Browser_Launch Func. if $browser = Default Then $browser = @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" if $browser = "msedge" Then $browser = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" Example: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" ;VOR DEM START ALLE EVENTUELLEN COOKIE-DATEIEN IM PROFILRADIKAL LÖSCHEN --- Local $sProfile = @TempDir & "\chromeprofile" FileDelete($sProfile & "\Default\Cookies") FileDelete($sProfile & "\Default\Cookies-journal") FileDelete($sProfile & "\Default\Network\Cookies") FileDelete($sProfile & "\Default\Network\Cookies-journal") FileDelete($sProfile & "\Cookies") FileDelete($sProfile & "\Cookies-journal") ;$chrome = $browser.launch(Default, 9299, Default, Default) ;$chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") $chrome = $browser.launch("msedge", 9299, Default, @TempDir & "\chromeprofile") $page = $chrome.newPage() ; Window maximieren WinWait("[CLASS:Chrome_WidgetWin_1]") WinSetState("[CLASS:Chrome_WidgetWin_1]", "", @SW_MAXIMIZE) $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("username") Sleep(1000) $page.locator("//*[@id='password']").sendKeys("password") Sleep(1000) $page.locator("//*[@id='submitButton']").click() ;$chrome.close() gmmg
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now