
Copycat – An extension to test web apps without writing a line of code - omergulen
https://github.com/omergulen/copycat
======
geoelectric
I expected a ton of comments regarding record/replay automation being worse
than programmatic, but--speaking from one of my past hats as UI Automation
lead--this kind of tool can be really useful. It's super-quick to get
something going that works _today_. Just don't expect the tests to live a long
time.

That makes it really great for popping up some end-to-end "scaffolding" tests
during incubation or primary development that you delete or reimplement later
with "real" programmatic tests for stabilizing ongoing or incremental
development. You don't really want to design the longer-lasting tests until UI
flows have gelled, but this sort of quick-and-dirty you can do anytime.

There was also a really intriguing talk a number of GTACs ago that asserted
that often the cost of just having to scrap and re-record a replay-based test
when it breaks is lower than maintaining an equivalent programmatic one.

I'm not sure I believe that will frequently be true with proper UI automation
design (page objects or some other kind of UI map, driving development of test
hooks, etc). But I do suspect there's truth there vs. improper UI automation
design.

If UI Auto isn't anyone's field on the team or a company doesn't want to sink
significant resources into it, it's probably more likely you get the improper
than proper designs by scripting, then they turn into maintenance sinkholes
over time. At that point maybe record/replay is actually better.

~~~
omergulen
Firstly, thanks for your feedback. I really got your point.

Like every field in tech, using this tool has some trade-offs, like you said
tests may not be permanent and require hand-written tests. Yet, creating them
is easier when you compare with writing tests with coding/hand. Also, this
tool can be used as a helper. For instance, getting unique selectors, or
creating a test with this tool and then modifying it by hand could be really
useful, too.

As a conclusion, according to my developing this kind of tools can really
improve and ease the test phase, and can encourage developers to create more
tests.

~~~
geoelectric
Hopefully it was plain my comment is highly favorable to your tool!

Record/replay gets a bad rap, basically, but for anything short-lived it's
often the superior choice.

