That's exactly how Selenium 1 worked when we created it 9 years ago. It also sounds like the approach used in Sahi, Windmill, JsTestDriver -- other web testing tools. Not cool.
"While loading via proxy is not a new idea, our implementation is unique. Our framework is the only one that automatically configures that proxy and allows direct communication with the page via JavaScript."
I look forward to reading your patent application.
The US patent office does not care/have the resources/have a clue how to enforce that patents are non-novel and/or obvious. It is an entirely corrupt system driven by a mass of lawyers, all encouraging their clients to build patent portfolios for "defence".
If you want to combat a patent, the best stage to do this is during the application stage, it's far harder to combat it after it's approved.
For those that aren't aware of the StackExchange patents site [0], this is the best site I'm currently aware of for collecting evidence against patent applications. I would encourage you to actively seek out this patent application, start a thread on it and submit evidence against it.
The US needs a cultural change on patents, to make it clear that the patent system is corrupt and companies that file software related/non-original patents as an excuse to not having to innovate any further/at all need to be shunned.
I found it very odd a web tools company highlighted the patent bit. I wonder how companies like this go in the javascript space given the range of choice in OSS alternatives.
I'm currently watching the 27minute video. I was expecting a quick sample of what TestCafe does, but it is a full-on tutorial of using all their features. Also it goes into a VERY deep yet simple level (like here's how to change the port#).
I'd recommend a shorter, marketing style video just showing why TestCafe is great. I haven't gotten there yet, at more than 5 minutes in...
definitly, if you want to push the product with a video, it should not be longer than 2, max. 3 minutes and you should only show the key aspects.
additionally, you could have a look at some conversion rate bascis (I cannot find a call to action button above the fold,...) or SaaS marketing tips on how to push your product out.
I like the visual method of writing scripts, but having used Selenium + SauceLabs.com on a real app and dealing with functional browser tests every day, I'm concerned about:
* Timing issues; most of the time spent writing functional tests is knowing when to wait for the next click (e.g. waiting for AJAX response and change in a certain DOM element)... and doing this in a clean way (e.g. WebDriverWait conditions instead of putting Sleep(1000) everywhere).
* Ability to expand the tests to do other things; for example, Selenium can take screenshots of the browser window because it works at a lower level. We use this for regression testing our web pages.
> Timing issues; most of the time spent writing functional tests is knowing when to wait for the next click (e.g. waiting for AJAX response and change in a certain DOM element)... and doing this in a clean way (e.g. WebDriverWait conditions instead of putting Sleep(1000) everywhere).
This can be answered in a fairly simple way. How does your user know when to proceed? What changes?
Ian, I agree that's the right mind frame to be in, but I notice they (DevExpress) didn't address it in their demo or docs.
They have a 'wait' function that waits for a period of time, but this is just a sign of bad test writing and something sure to break when testing against different browsers or environments (localhost v.s. staging).
Only a wait function would be worrying, it'll lead to unstable tests and more annoyingly tests that don't do what they say. Decent async support is the first thing I look for in testing libs like this.
I skim-read their website and watched a good chunk of their video. I still have no idea what this actually is, and why I would use it over my existing toolset (Behat, Selenium + WebDriver, CasperJS, etc).
If any DevExpress guys/gals are reading this, please consider making a shorter (2-3 min) video showing some tests being written and run.
I'd also recommend they reach out to Selenium developers and having a conversation with them to see if what they've done is really patentable. [Disclosure: I created Selenium]
:-) Although I kickstarted the project, I can't take a lot of credit for what it has become. It's a huge project now, with many people involved. Now, I'm just the crazy old uncle who can tell a good story about "the olden days". In the spirit of giving credit where credit is due, Paul Hammant is the one who came up with the HTTP proxy JS injection technique. Dan Fabulich, Nelson Sproul, and Patrick Lightbody rewrote it and refined it. (Some sources: http://paulhammant.com/blog/selenium.html/http://docs.seleniumhq.org/about/history.jsp)
We've been using Selenium to test a large enterprise ASP.Net webforms application and it's been kind of a hassle. Configuration was horrible but once that's out of the way it's sort of straightforward.
What benefits does TestCafe bring against Selenium? What's the elevator pitch?
Haven't used it myself, but i would love to hear from someone who has used this, or something similar.
How useful is this kind of testing? I'm thinking that tests would have to be re-recorded a lot, if this is used while developing the site.
It sounds like their approach is the same one we took with the first version of Selenium. The approach is JavaScript injection through an HTTP proxy. Because of the same origin policy and JavaScript security model, we abandoned this approach when moving to Selenium 2. Selenium 2 goes for the most native approach for clicks and key events. (Continuing in that native-is-better approach, I'm now experimenting with robots, but that's another story.) I'm amazed they think their approach is better.
I'm surprised they think the Selenium 1 JavaScipt proxy-injection model is a better approach. But hey, I'm getting old... Get off my lawn, yadda, yadda, yadda. But I'm stunned they think it's better and trying to patent it. I really hope I'm missing some new key insight here. Please enlighten me, people.
I'm in the 'something similar' camp. This is functional testing. I use Selenium, an open source library for automating browsers via plugins.
Personally I find it much more useful than unit/integration tests because while those test the programmer's understanding of his own code, functional tests actually drive the app, perform normal user actions by driving the GUI. For example, you could have all of your unit tests passing but without functional tests, your OK button may appear off-screen and you wouldn't know.
It is annoying when you make changes to your app because test runs take much longer than unit tests, so I have one general test that I run after a refactor, and then a full suite that runs after commit.
"TestCafé loads websites via a proxy, thus allowing its engine to inject scripts that can access and manipulate the Document Object Model"
That's exactly how Selenium 1 worked when we created it 9 years ago. It also sounds like the approach used in Sahi, Windmill, JsTestDriver -- other web testing tools. Not cool.
"While loading via proxy is not a new idea, our implementation is unique. Our framework is the only one that automatically configures that proxy and allows direct communication with the page via JavaScript."
I look forward to reading your patent application.