|Se-Builder Project Open Sourced||Adam Christian||2/18/11 3:39 PM|
Over the past couple months we have been working on a project we are calling Se-Builder.
The main goal of the project has always been to simplify UI and build a tool that feels like a web experience instead of a desktop experience.
We feel that it has increased our speed for writing and debugging tests, and hope that some of you see a benefit as well.
Currently the project has no plugin architecture, and doesn't support Selenium 2 exports.
We feel that these are both features that should be built in the open with the community. Everyone has different needs and expectations for a plugin architecture and we want anyone interested to be able to weigh in.
We have received a lot of great advice and input from Adam Goucher, and we hope to have much involvement from him with this project going forward.
The open source project can be found on google code: http://code.google.com/p/se-builder/
The google group can be found here: http://groups.google.com/group/se-builder
We are totally open to the idea of making this part of the selenium project proper, but that is really up to all of you!
Currently the person doing most of the development is David Stark in the UK, he has done a lot of really cool stuff and he will be driving the plugin project.
Thanks for checking it out, we are looking forward to everyone's feedback.
|Re: [selenium-developers] Se-Builder Project Open Sourced||fcohen||2/18/11 9:46 PM|
Congratulations on the start of Se-Builder. I would be glad to help test Se-Builder.
I'm hoping that Se-Builder enables record/playback from IE, Chrome, Safari, Firefox, and Opera. I hope it provides quick data-enabled test construction. I hope it runs on Windows, Mac, and Linux desktops. I hope it supports Ajax and Flex applications. I hope it handles advanced test scripting like conditionals and looping. And I hope the plug in architecture guarantees backward compatibility as Se-Builder progresses.
Has there been discussion about a specification?
|Re: Se-Builder Project Open Sourced||Adam Christian||2/18/11 10:56 PM|
project has real potential to port over to the other browser plugin
architectures, since it is after all just standard web technologies.
Clearly browsers run on all platforms we are thankfully offloading all
that cross platform development work onto the browser vendors.
When it comes to AJAX and Flex, AJAX doesn't need to be supported
addition to conditional waiting, but selenium handles all that -- so a
testing IDE shouldn't really need to know about it. Likewise when it
- one of the plugins we will be building as soon as the plugin
architecture is ready will be a Se Builder plugin for Flex Pilot which
has been thoroughly tested and has a thriving community behind it at
To address your hopes about advanced test scripting and conditionals
and looping; after five years working on the Windmill IDE, I have made
a very conscious decision to avoid those constructs in an IDE. It
makes for a messy and confusing experience, and keeps people from
moving from what should be a "helping and teaching tool" to a real
programming language - which becomes a crutch. Programming languages
are fantastic at looping and conditionals, as well as debugging.
Keep in mind, the goal of Se Builder was never to be "Visual Studio"
for test creation, we simply wanted to boil down the requirements of
quickly building something that works, giving people a place to start.
David Stark will be proposing a plugin architecture spec in the coming
weeks to which everyone is invited to weigh in on.
Looking forward to more feedback.
> > For more options, visit this group athttp://groups.google.com/group/selenium-developers?hl=en.
|Re: [selenium-developers] Se-Builder Project Open Sourced||adam||2/19/11 3:51 AM|
Given some of the stuff on Twitter about this, I think it should be clearly spelled out that the 'we' in this case is Sauce Labs, not Selenium itself. This was an independent effort of theirs that very few people outside of Sauce employees (including those with a contract relationship with them, as in me) or beta customers knew about.
I was kinda hoping I wouldn't be mentioned in exactly this context, but to be clear, this doesn't mean that I explicit or implicitly endorse Selenium Builder as either an alternative or replacement to Se-IDE. It is no secret that I do contract work for Sauce Labs and in this case it was as a tester and as doc writer. And they were billed accordingly.
For now, Selenium Builder is in the same category as Tellerium (http://en.wikipedia.org/wiki/Tellurium_(software)), Flex-Pilot (https://github.com/admc/flex-pilot-x/tree/master/client/) or PushToTest's new recorder environment (Frank, I couldn't find a link to it quickly on your site and I knew what I was looking for...) in that they are part of the larger Selenium ecosystem, but not part of Selenium itself. Dependent on uptake, etc. its status might change in the future (as with any project) that is where it is currently.
And will be for the foreseeable future I would imagine.
|Re: [selenium-developers] Se-Builder Project Open Sourced||Patrick Lightbody||2/19/11 5:47 PM|
Thanks for sharing. I love that the UI is pure HTML - I can imagine
that makes plugins easy. But after playing with it I have a couple
1) While you stated that porting to other browsers is easy, can you
2) What benefits does this have over Selenium IDE? Does it record
Either way I'm glad to see the ecosystem growing. Just want to better
|Re: Se-Builder Project Open Sourced||Adam Christian||2/19/11 11:48 PM|
So I didn't actually say it was *easy* :)
However since it is all built with web technologies we get a large
amount of code re-use. The actual hard part is going to be building an
abstraction layer over all the code that does "trusted things" like
talking to the file system, and window observation. Since these API's
are different all the browser plugin systems, that will be a project.
Once you can hook into knowing whenever a new browser window is
instantiated, telling it to capture all events at the window level is
basically trivial. All modern browsers follow a variation of the W3C
standard for event bubbling and capturing, which means a listener can
intercept all the events at the window level and introspect/analyse
them to create UI/locators etc.
I suspect the next two porting projects will be with IE and Chrome,
the IE proof of concept is working thanks to the remains of the
Selenium ICE project and when serious development starts with that I
imagine we will create a se-builder ie branch.
The beauty of course is that if we do this correctly, when making
get it immediately.
As for your second question, although the "features" line up with IDE
in many ways, this code base, UI and functionality was all developed
independently of IDE and I would generally say the user experience is
more intuitive with builder and will continue to get better. When
multiple locators are available, it provides them in a list that you
can pick from, which I would like to see evolve into a teaching tool
that also informs you of why or why not a specific locator might be a
Honestly having watched folks using the current IDE for the first
time, the XUL tree component specifically confuses and frustrates
people and I would love to see first time users build a test they can
check in and start relying upon faster. Right now the builder focus is
people who aren't experienced with any of the testing technology,
folks who have mastered IDE are probably going to be happy continuing
with it and I'm not even going to try convincing them otherwise.
Having said all that, I want to be crystal clear that I absolutely
feel that there is room in the ecosystem for all these awesome tools
enabling people -- it's good for the community to have some choices in
tools. I can certainly think of reasons that IDE, TestMaker and
Builder all appeal to different users and they are all helping make
peoples lives easier.. which is the goal of all this to begin with!
Now that this is out there, I look forward to some conversations at
Selenium Conf -- I find any good technology conversation is better
with a pint.