Kasaya

Dev tools

browser automation

SHOW HN2020

Legend

Kasaya

A scripting language and runtime for browser automation

github.com

#browser automation#scripting language#selenium#end-to-end testing#dsl

386points
106comments
#93of 3,028 in 2020
Top 4%of 2020 by points

How HN took it

MixedNo clear lean

6 positive, 19 neutral or asking, 0 mixed, 23 critical, out of 48 comments about the project. Thread score -0.37.

Idea: 3 for, 9 againstDesign: 2 for, 8 againstExecution: 0 for, 3 againstDocs: 0 for, 3 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Readable, intuitive syntax that QA could adopt

    From 2 comments
    • I actually kind of really like this DSL, I think it is going to be easier for my QA team to use this, than asking them to use javascript.
      swalsh on HN
    • All these kinds of HN comments share the same flaw: they unnecessarily detract from the work the OP has done by attacking use cases that the project never claimed to solve.…
      debaserab2 on HN

Objections

  • DSLs become limiting and hard to maintain versus a real language

    From 3 comments
    • All those kind of projects share the same flaw: it uses a DSL instead of an existing language, so tooling/documentation/testing/support/modules are going to be very weak, and…
      BiteCode_dev on HN
    • > With JavaScript you get method completion and debugging. a) now your QA team needs to know JavaScript b) method completion is crap when you don't know the language. c) "You can…
      masukomi on HN
    • The other choice is that your QA teams knows this DSL tho. Which is the point: eventually most DSLs converge on the complexity of programming languages and you’re left asking:…
      enjo on HN
  • Requires JDK and Node, unsuited to CI

    From 2 comments
    • Looks promising but I don't want to install the JDK (and it's not practical for CI). Isn't it possible to do without with something like Puppeteer?
      vincelt on HN
    • Who is this for? It requires the JDK and Node.js to be installed, telling me that this is targeted to developers. If I'm a developer, I'm OK to use a browser automation framework…
      jbob2000 on HN
  • Selenium already exists and is mature

    From 1 comment
    • Test automaton guy here. Why reinvent the wheel? Selenium/WebDriver is already a standard (https://www.w3.org/TR/webdriver/). It has years of maturity. Maturity means that…
      ou_ryperd on HN

Requests

  • Support Puppeteer or Chrome DevTools protocol instead of Selenium

    From 2 comments
    • Looks promising but I don't want to install the JDK (and it's not practical for CI). Isn't it possible to do without with something like Puppeteer?
      vincelt on HN
    • Not yet, but someone suggested Chrome DevTools protocol. This is still in the very early stages, so we're looking into these things.
      hliyan on HN
  • Autocomplete for elements on the page

    From 2 comments
    • I am confused by the use of "WYSIWYG". It seems to be more a control console/REPL with Natural Language syntax. Edit: A killer feature would be autocomplete for things found on…
      dariusj18 on HN
    • > Edit: A killer feature would be autocomplete for things found on the page. Challenge accepted!
      hliyan on HN
  • Loops support

    From 1 comment
    • This is neat. I was just looking for something like this the other day. Does it support loops? I don't see any example like that. Basically I wanted to load a search results page…
      losvedir on HN

Questions

  • Does it use Selenium under the hood?

    From 2 comments
  • How does it select elements without selectors?

    From 1 comment
    • I don't see how this is a scripting language and runtime; so, maybe I'm totally missing the boat and everything below is nonsense... I think DSLs like this turn into one thing:…
      rubyn00bie on HN

Alternatives named

  • Taiko

    From 2 comments
    • Interesting concept, sounds promising. Have you checked taiko ? https://github.com/getgauge/taiko
      subhashchy on HN
    • This looks great. I also want to shamelessly plug something similar I am working on, Taiko, it uses javascript and comes with a REPL that generates scripts like. ``` await…
      zabil on HN
  • Cypress

    From 1 comment
    • Looks cool for really simple things but wouldn't use it for anything serious. I have been using Cypress[0] the past few months and so far I've been quite pleased with it. [0]…
      spectaclepiece on HN
  • Canopy

    From 1 comment
    • We can do this with Canopy in F# (repl/interactive style too!): ``` //go to url url "http://lefthandedgoat.github.io/canopy/testpages/" //assert that the element with an id of…
      aloisdg on HN
  • Selenium with Cucumber

    From 2 comments
    • One way this can be achieved is using specflow or cucumber and then make that drive selenium or puppeteer. Probably a 10 minute job to set up some basic commands (like demoed…
      mc3 on HN
    • Test automaton guy here. Why reinvent the wheel? Selenium/WebDriver is already a standard (https://www.w3.org/TR/webdriver/). It has years of maturity. Maturity means that…
      ou_ryperd on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/22374991)