23 comments

[ 4.2 ms ] story [ 68.8 ms ] thread
First of all, I'm very interested in this.

Secondly, that was a very well-designed capture. You got me to give up my email, log in with GitHub, tell you how much I would pay, and then you gave me nothing. Houdini indeed!

Kudos. Now I'm waiting for my beta access email.

@blahah Thanks for going through the flow! Working really hard to get this to you soon. Would love any feedback you have as well!
This is intriguing. If those guys get it to work on complex, real-world web sites I think they can build a serious business around this. I'm gonna give this a try. Best of luck!
A great looking tool! Can't wait to try it out on a few hundred projects :)
this is great! Takes web development to a whole new level
Awesome!! I hate testing..
Looks really promising if it can work on complex dynamic sites!

The sample script provided is totally incorrect though:

  <script src="//cdn.tryhoudini.com/houdini.js"></script>
  Houdini.init("xxxx")
  Houdini.startListening();
Missing a script tag around `Houduni.init ... Houdini.startListening()`
Major "thank you" for doing github login without requiring me to hand over my private repositories.
Thanks for the feedback! Definitely trying to be reasonable :) Definitely welcome any other suggestions!
In the dynamic content example; with the previous showing one item and the second screen shot showing two items, what is it about the DOM structure that makes this a passing test? How do you know that the functionality wasn't suppose to update an item?

Wouldn't you at least need three tests; an initial test to show that an item is inserted into the DOM, a second test to demonstrate that the system is inserting, not updating an item, and then finally your third test that demonstrates the functionality continues to insert into the DOM?

one approach is to look at the progressive diff between the insert tests & verify that the DOM is changing in the same incremental way
That was my point; a "progressive diff" isn't just two samples. At test sample #2, whether an item inserts or updates, either could be correct at that point.
The video demonstrates how we would like the user-assisted side of it to work. For reasons like you mention, it might require more than DOM inspection in the end. What if tweets are supposed to show in the feed four times instead of once? To achieve the right level of control I think it needs API access to the database. We are close but not completely there yet. Thanks for the feedback!
This looks awesome. Scared to put the Javascript on my site though, because it's unclear to me how the embedded Javascript will be able to differentiate me (the site owner) from regular users.

I don't want regular users seeing the "1 test generated" thing on each page. Maybe clarify this a little on the page where you give me the Javascript snippet.

Will definitely clarify this on the dashboard. Users of the site won't see those notifications for sure. Those are configurable and you'd only use those on your dev environments.
Would be recommending this to the QA folks at work. Thanks for sharing!
Very cool. I recently had an idea along those lines. Good to see someone's building something in this area. Will it be possible to generate CasperJS- or Selenium-compatible test scripts from Houdini so tests can be run in a CI environment, too?
Thanks! Yes we plan to make this possible. We've got a decent number of requests for similar functionality.
This concept of testing seems strange and very limiting when it comes to the assertions you wish to make. If you post "Hello World!" I would want to test that in my post feed there is a post from myself ( Assertion 1 ) and the contents is "Hello World!" ( Assertion 2 ). I don't see how this form of snapshot testing would accomplish this. Am I missing something?