You can setup a DSL in scala.js and you can get the best of both worlds (though, parentheses are fine for me so I would just use one of the many fine existing JS libraries).
You can setup a DSL in scala.js and you can get the best of both worlds (though, parentheses are fine for me so I would just use one of the many fine existing JS libraries).
a) now your QA team needs to know JavaScript
b) method completion is crap when you don't know the language.
c) "You can setup a DSL in scala.js and you can get the best of both worlds" OMG You want to add Scala to the mix too? AND write your own DSL from scratch, and take on its maintenance to support your QA team's needs instead of leveraging an existing one?
your solution:
1. teach the QA team Javascript interaction with custom scala created dsl
2. have the dev team spend time creating a dsl
3. have the dev team devote some of its resources to maintaining the new DSL
their solution:
1. use english-like DSL much easier to learn than JS
2. that is already created
3. that someone else maintains
both solutions are going to have limitations in that what you want the DSL to do will be more than the DSL can _currently_ do.
We’ve beat the Ansible example to death but it’s a really good one. It started as something simple and then with every edge case came the need for increasingly complex logic until it resembled a programming language just with super funky syntax.
The library authors can use those the create a better DSL (or as I call it: "just a good API"). the cognitive load on the users is the same, only it's easier to setup up proper tooling
in javascript you can make the exact sample api he defined only with `await` and some parentheses
in scala you can setup API that looks like: `browser show page`, users don't really learn scala just write the same commands they otherwise would (I'm not saying you should do this. You could, if you really hate parentheses for some reason, but there is a way about it without inventing your own ecosystem)
source: was qa automation engineer for a few years. I realize it is purely anecdotal, but nearly all of the QA people I worked with knew javascript, even the manual testers.