vygr/ChrysaLisp

WebDriver compatible functional UI clicking test automation

paul-hammant opened this issue · 1 comments

Spec: https://www.w3.org/TR/webdriver/

I can't tell where the most up to date Selenium-WebDriver runner is for common lisp. One of these could be it - https://github.com/TatriX/cl-selenium-webdriver/network. This is older - https://github.com/patrickdlogan/abcl-webdriver - but for a different Lisp.

This for fat widgets/forms/windows within the ChrysaLisp world. Selenium-WebDriver is about TheDOM and it's HTML/JS/CSS world. Other teams outside that world have made wire api compatible runners for diff I technologies. Java's Swing (spun out of NetScape in `97 or so) has Marathon which is WebDriver compatible - https://marathontesting.com/javadriver/. I've used that here - https://github.com/paul-hammant/swing_component_testing/ - cos I burn a candle for MVC too. Nice quick video there too.

The wire protocol aspect of this would mean than any language that has a WebDriver lib coule remote steer a WebDriver process controlling a ChrysaLisp window. For example, a Java process using JUnit and classic Java WebDriver's RemoteDriver and steer a ChrysaLispDriver process adhering to the wire api from outside the ChrysaLisp machine. Same Python, Ruby, Perl, etc.

Perhaps ChrysaLispDriver wouldn't have an XPath equivalent. Perhaps it would support a nition of 'id' like the web does. Perhaps there's another grammer that can go up over the wire to locate widgets to interact with. That's the case for JavaDriver from the Marathon project, which perhaps should have been called SwingDriver.

vygr commented

Maybe a good idea but won't happen.