Posts Tagged ‘Open Source’

Se Builder: Released into the Wild

March 8th, 2011 by Adam Christian

Over the last few months, an effort has been underway here at Sauce Labs to take a bunch of interesting test-building technologies, clean them up a bit, and merge them into one project. The result is Se Builder, a new Firefox extension environment for building Selenium tests that combines the best elements of Windmill IDE and Selenium IDE with parts of a proprietary technology Sauce Labs acquired a while back.

You may be wondering, “What’s the difference between Builder and the already existing Selenium IDE?” While there are many, the big ones are that the user interface in Builder is comprised of standard HTML, CSS, and Javascript. Our hope is that if you use web applications regularly, you will be able to comfortably use Builder. Secondly, we realized that exporting tests in order to run them with your Selenium RC server was unnecessary – so we took that step out.

We have big plans for Builder going forward. One of the visions we have is to continue improving the UI so that it makes suggestions to users for constructing better tests, changing it from a simple test generation environment to a teaching tool as well.

We have fully open sourced the project on Google Code and set up a Google Group mailing list to help people get their questions answered. We also want to make Se Builder as intuitive as possible, so we have been conducting formal usability testing and actively implementing our findings. The next big step for Builder, which is happening completely via standard OSS process, is a plugin architecture – allowing anyone interested in developing for Builder to expose and integrate custom functionality.

Further out, we would love to see forks of the project for each of the different browser plugin platforms. Since there are a couple bits of the project that are Firefox trusted Javascript specific, we would need to abstract that out for each of the platforms. However, the rest of the project is using standard web technologies and jQuery, so we hope porting that part of the project will be a straight forward process.

We are excited for as much community involvement as we can get. If you give Se Builder a try, we would love to hear what you have to say!

Project Links:

Open Source Project Homepage: Builder Google Code Project
Mailing List: Builder Google Group Mailing List
Download: Builder Google Code Download Link

Absolute Beginners Guide to Running Sauce RC with HTML Scripts

September 30th, 2010 by The Sauce Labs Team

Guest blog post by Sauce user Adam Lemisch

After learning you can’t easily use tests created in Selenium IDE (in HTML format) with Selenium RC to point tests at multiple browsers, I figured I had no choice but to rush out and learn a scripting language.

But after some research, I came across Sauce Labs, and realized it was THE perfect jump off point for me. I could use Sauce IDE to generate the tests I needed, point Sauce RC at the HTML files that contained the test steps, and run those tests against different browsers.

The following will guide you through the process of utilizing Sauce RC to run HTML tests created in Sauce IDE. If you haven’t already done so, please download and install Sauce IDE and Sauce RC at http://saucelabs.com/downloads.

After you’ve played with/learned Sauce IDE and have a test you want Sauce RC to handle, you will have to save the “test case” and “test suite” as HTML files in order for Sauce RC to work with them.

This is where the issues began…

Saving the “Test Case” CORRECTLY:

1. From the Sauce IDE “File” menu, select “Save Test Case” or “Save Test Case As…”

2. Navigate to the directory that you wish to save your test case in.
2a. Make sure that you manually add the “.html” extension to the file name.
2b. Make sure that you select the “HTML Files” option from the “Save as type:” box.

You’re done saving the “Test Case” portion of the files required. Next, we save the “Test Suite” files in pretty much the exact same way.

Saving the “Test Suite” CORRECTLY:

1. From the Sauce IDE “File” menu select “Save Test Suite” or “Save Test Suite As…”

2. Navigate to the directory that you wish to save your test suite in.
2a. Make sure that you manually add the “.html” extension to the file name.
2b. Make sure that you select the “HTML Files” option from the “Save as type:” box.

You’re done saving the “Test Case Suite” portion of the files required.

Next we move on to showing Sauce RC where to find the files to run from. (If you know a little about HTML, you can look at the two files you just saved in an HTML editor. You will see that the TestSuite.html file is linking to the TestCase.html file.)

Showing Sauce RC where the files are CORRECTLY:

1. On the “HTML Suite” tab of Sauce RC we are going to fill in the required information.

1a. “Suite File” must be filled in with the exact path to the file we designated in the second step titled, “Saving the “Test Suite” CORRECTLY:”

1b. “Result File” must contain a path to a directory WITH a file name at the end of the path that includes the “.html” extension. If you simply input the path and FULL filename, Sauce RC will create the “Result File” for you at run time.

1c. “Start URL” must match what’s in your test case.

1d. “Browser” – well that’s just self explanatory…

The following screenshot is an example.

So, there you have it! You should be able to hit run and watch as Sauce RC runs through your test script in the selected browser. Hopefully this helps, and if you run into any issues and get other answers, please share in the Sauce forums. Chances are we’re all looking for an answer when we are just starting out!

SFSE Whiteboard Night a Success!

July 26th, 2010 by Ashley Wilson

The San Francisco Selenium Meetup Group gathered last week for a meetup at Digg’s headquarters, and WOW! What a fantastic night it was.

In the hopes of learning how members were specifically using Selenium, and to foster informal conversations around this, we decided to have “Whiteboard Night,” where we invited #SFSE members to volunteer to share their Selenium testing structures, philosophies, best practices, etc. The setup was similar to a poster session, with different “whiteboarders” presenting 5-10 minute sessions simultaneously and then engaging in organic discussions with the “minglers” who circled the room.

With 70+ plus attendees and 10 great whiteboarders from companies such as Mozilla, Pivotal Labs, and PB Works (to name a few), the conversations that resulted were highly thought-provoking. Most whiteboarders shared their existing test structures, while others proposed new ideas to get feedback from the group. Even Sauce Labs made an impromptu whiteboard visit, with Developer Miki Tebeka sketching out our testing system.

The responses afterwards were widely enthusiastic, with one newcomer to the group writing on the meetup page: “Awesome event! Great to talk to folks working ‘in the trenches.'”

With the success of Whiteboard Night, we’d love to have more in the future. We just need a big enough space to make it happen. If you think your company would be interested in hosting Whiteboard Night, please let us know. (To note: Digg’s digs were perfect. Plenty of open room, multiple whiteboards, and a huge fridge to store our beer :-) Thanks, guys!).

If you haven’t joined the #SFSE meetup group, please do so, as it’s the best way to stay in the loop. Next meetup is August 24 at LinkedIn – details coming soon.

Below are some photos from Whiteboard Night. For more, check out our new Sauce Labs Flickr Page. We’ll hope to see YOU at the next one!
IMG_9945

IMG_9960

IMG_9946 copy

IMG_9957

The Over-Exaggerated Death of Flex and Flash

July 20th, 2010 by Jason Huggins

The war between Adobe’s Flash and Apple’s support for HTML5 continues to heat up. The first set of battles between Apple and Adobe have reached a standstill for the moment. Adobe is pushing Flash for Android (which is awesome, on my new Google Nexus One, by the way). Meanwhile, the Apple-backed SproutCore project makes HTML5 a viable platform for developers to adopt today.

In spite of the Apple marketing machine, we’re betting that Flex and Flash still have their parts to play in the future of the web. After all, how can we just forget about the massive installed base? Flash is now on 98 percent of computers. More importantly, Flex and Flash have comprehensive tool sets that developers still need. Flash is the single browser plug-in that provides consistency for a chaotic and scattered web world. There are things that HTML and Javascript can’t do well, like webcam capture, media-streaming, and full-screen video. And let’s not forget — a huge segment of the web is gaming, which wouldn’t be possible (so far) without Flash. As YouTube recently noted: “While HTML5’s video support enables us to bring most of the content and features of YouTube to computers and other devices that don’t support Flash Player, it does not yet meet all of our needs.” Should we just abandon everything that we’ve known for HTML5 because it is new and exciting?

I’ll admit that even I have drunk the Apple Kool-Aid and see HTML5 for its role in the future of the web. Sauce specializes in cross-browser web app testing and HTML5 is easier to integrate with Selenium. However, the web is bigger than HTML and JavaScript. HTML5 is the future, but we live in the now. Though growing, HTML5 does not yet have the adoption that Flex and Flash have.

It’s this installed base that Sauce Labs is committing to with our announcement of the Sauce Flash-Flex Testing System.

The newest Selenium-based solution, the Sauce Flash-Flex Testing System provides testing of Flex applications on the Flash platform. Other tools in the marketplace can only test Flex applications, but the Sauce Flash-Flex Testing System covers the entire Flash platform. While Flex is a great tool for many developers, the two biggest markets on the web — gaming and advertising — are based on Flash, not Flex.

So, while we’re all excited for HTML5, rumors of Flash’s death are greatly exaggerated. Demand for Flash wont die. To a lot of people, Adobe may seem like yesterday’s news. But since not everyone has an iPad or an iPhone, the answer is still Flash and Flex, even if it’s not the new hotness.

To this strong base of Flex and Flash users: try out our Sauce Flash-Flex Testing System and give us your feedback.

Bromine + Sauce Labs: One Big Happy Integration

July 13th, 2010 by Ashley Wilson

The good people behind Bromine, an open-source QA tool that allows you to easily run and view your Selenium RC tests, recently created a Sauce Labs integration. This means you can now run your Bromine tests with Sauce Labs’ in-the-cloud service, Sauce OnDemand, with the added bonus of having a jobs queue AND video playback. Exciting news for all!

Check out the demo below, and download Bromine here to start using it with Sauce OnDemand today.

Trends in Testing: Continuous Integration, Mobility, Open Source, Cloud

May 10th, 2010 by The Sauce Labs Team

Functional testing is the automation of web app testing across several platforms or browsers. In the past, functional testing was less common due to long development cycles and the lack of multiple browser options. It was done primarily in-house via proprietary software like Rational or QuickTestPro.

Today, there are four trends converging to radically change how organizations test web applications:

  1. Continuous integration – An increased emphasis on performance of the software through the end customer’s perspective is leading agile development. Gartner predicts that by 2012 agile development methodologies will be used by 80 percent of all software development projects. Teams are shifting away from rigid quality control to quality that is demonstrable to the end user. With this shift, comes a need for quick, simple and automated testing tools.
  2. Open source – Open source tools, like Selenium, are viable for functional testing. Today’s development environment has dramatically changed and a lot more people are contributing than ever before. The major advantages of open-source are speed, time to market, time to value, and the ability to reach and grow a developer and user community. In fact, Gartner predicts that by 2012, 80 percent of all commercial software will include elements of open source technology.
  3. Cloud computing – Testing in the cloud is an affordable and scalable alternative to testing behind a firewall. It is expensive and time consuming to maintain on site test infrastructures that cover a vast number of browsers (and versions) of operating systems in several languages. The increase in the adoption of cloud computing creates an opportunity to leverage the space for functional testing. We believe the life cycle for cloud-based applications will look different in the future. New solutions that are cloud based will support cloud-base applications.
  4. Mobility – Websites need to support multiple browsers such as Internet Explorer, Firefox, Chrome, Rockmelt, Opera on various platforms including Windows and Mac. Smartphones only add to this “Browser War 2.0” battle with the plethora of mobile operating systems. These various environments make the infrastructure required more complex and the need for functional testing more relevant that ever before.

Are there other trends beyond continuous integration, mobility, open source and the cloud that will change how organizations test their web applications?

Selenium participating in Google Summer of Code (GSoC)

April 6th, 2010 by John Dunham

Selenium has been accepted into the Google Summer of Code program.  This means participating students will get $5000 USD to hack on Selenium-related Open Source projects in the summer, while getting mentored by contributors of the Selenium project.   The deadline for application is April 9, 2010 and Selenium still has open slots –  from writing python bindings for Selenium 2.0 to writing mobile support for Android and iPhone to Selenium IDE 2.0.  You can suggest projects as well.  Once you have submitted your application, you will have until April 18, 2010 to fine tune your proposal with our mentors.  Google will announce the list of accepted students / proposal by April 26, 2010.

You can find more information here:
http://code.google.com/p/selenium/wiki/GoogleSummerOfCode

Link to apply:
http://socghop.appspot.com/gsoc/student/apply/google/gsoc2010

If you know students (or people that have children :-) attending college, please pass this info along.

This is a great opportunity for students to work on open source projects that’s used by millions of developers and QA professionals, gain skills in Selenium and ultimately help drive higher quality software everywhere.  Do note that most of the work will be done off-site, however, if you are paired up with mentors in San Francisco, LA, Portland, London…  you may have a chance to work with them directly too.

Selenium IDE 1.0.6 is released!

March 26th, 2010 by Adam Goucher

Selenium IDE 1.0.6 is now available. For those of you running 1.0.5, the update will automatically be pushed to you over the next couple days, and the rest will have it once we point AMO at the installer. If you are new to Selenium IDE then you can…

Download Selenium-IDE 1.0.6 now

The most important bug fix this release is the log message that was displayed in red (scary!) when executing an open command. Other than that, it was mainly just some incremental stuff. Here are the top 3 changes in terms of what I think most people care about.

  • Deal with new Open semantics – Under normal usage, the open command takes just a Target, but now you can also give a Value. If you provide anything other than ‘true’ it will do an AJAXy HEAD request to the server to determine whether the resource is on the server. There was a bit of an issue with the on/off logic that was causing this to be triggered inappropriately resulting in the error message and in some cases errors on the web server (when they had not configured how to deal with HEAD requests). I believe we have fixed this.
  • Type ahead – Some people using Firefox 3.6.x were seeing errors when using the command type ahead. That should work without error now.
  • Default Record Status – It always bugged me that Se-IDE was recording as soon as it opened. There is now a preference for controlling that behaviour

To see the full release notes and who contributed what, visit the Google Code wiki. Also on the Google Code site is the Issue Tracker for any problems you find. (Just make sure you tag them as ide.)

Selenium IDE 1.0.5 is released!

February 19th, 2010 by Adam Goucher

One month (to the day!) after the release of Selenium IDE 1.0.4 was released, 1.0.5 is now available.

Download Selenium-IDE 1.0.5 now

This release fixes a couple really annoying bugs that were introduced in 1.0.4 and starts to build towards the future. Here are the highlights.

  • Self-hosting – Se-IDE will not longer be relying on addons.mozilla.org to be hosting updates. This gives the project more flexibility around when releases are available to users.
  • Back into main project – The code for Se-IDE was in a separate subversion branch than the rest of the current Selenium project which meant its visibility to other developers was lower and that changes were not easily propagated. Se-IDE now lives in the main project so will reap the benefits of the rapidly changing core.
  • User Formats work again – In 1.0.4 there was a bug which meant that while you could add a custom format it would not appear in the list. This has been fixed.
  • Version Display – The version of Se-IDE now appears in the title bar
  • Reload Extensions – A tweak was made to the ‘reload user extensions’ functionality introduced in 1.0.4 so the toolbar button only appears when you have turned it on.
  • Bool Preferences – Preferences used to only be string values, even when a boolean would have been a better choice. Well, now you have a choice about whether you want your preference to be a string or bool.
  • Plugins Pane – There is a new pane in the Options screen called ‘Plugins’. This will become the central means of managing plugins in future releases, but for now it doesn’t do much aside from listing which plugins have registered themselves with the (also new) addPlugin(id) API function.
  • Icons – You will see a couple icons now in Firefox for Se-IDE rather than the default ones. Such as in the main Extensions window and in the Tools menu
  • For the full release notes and who contributed what, see the Google Code wiki. Also on the Google Code site is the Issue Tracker for any problems you find. (Just make sure you tag them as ide.)

    And as before, thanks to Sauce Labs for sponsoring my work on this release.

    -Adam Goucher

Selenium IDE 1.0.4 is released!

January 19th, 2010 by Adam Goucher

Since my work on Selenium-IDE was sponsored entirely by Sauce Labs, it makes sense to announce the newest release on this blog.

Download Selenium-IDE 1.0.4 now.

1.0.4 is the first release with new features in quite some time, and hopefully marks a renewal of the project. I’m going to try and push out a new build mid-month so get your bugs, patches and feature requests in.

So what is in the 1.0.4 release? A good question…

  • Firefox 3.6 – The previous release of Se-IDE worked with Firefox releases up to and including the 3.5 series of browsers. This version enables support for the 3.6 series of releases by default so people don’t have to do some of the hacks that are floating around.
  • Removed deprecated formatter – There was a Ruby formatter that had been marked as deprecated for a while in Se-IDE. It has been removed. If you are exporting from Se-IDE to Ruby, you should be using the officially supported Ruby formatter.
  • Update to Ruby formatter – The officially blessed Ruby Se-RC client is the selenium-client gem. The Ruby formatter has been updated to use its format.
  • RSpec – Ruby, ruby and more ruby. RSpec is now part of the standard set of formatters Se-IDE ships with.
  • Reload user-extensions – Jérémy Hérault has solved a problem some more advanced Se-IDE users experience by adding the ability to reload user extensions without having to restart Se-IDE. To enable this feature, check ‘Activate Developer Tools’ in the Options screen.
  • API – In order to help kick-start more companies using Se-IDE as their testing platform, Se-IDE has started to grow an API that other addons can use. Think of this as the Firebug model where Se-IDE will provide the structure, and other groups will provide additional functionality and features. Here are the first two things the new API can do.
    • Extend the Selenium API – There is a community of developers who have extended the Selenium API so new commands can get added to the IDE’s command list. (I’m a big fan of the Random String one.) You can now bundle user extensions up as a plugin to Se-IDE.
    • Formatters – Se-IDE ships with a number of default formatters that it can display or export to. But what if the language you use isn’t listed, or you have a custom test runner that requires different information? The solution to that has always been to install a custom formatter, but making sure that everyone in the group has the current, correct version installed is a pain. Instead, you can now put your custom formats in a plugin that is distributed to people.

    The documentation for this API is still very much a work in progress, but this series of blog posts should be enough to get people started on it. Eventually it will be rolled into the Official Selenium Documentation.

For issues with this release or features you would like to see in future releases, please log them in the Google Code Issue tracker using the label ide.

This release has also been submitted to addons.mozilla.org to be distributed through the normal plugin update system. We do not have any control over how long it will take for that update to be processed and released. For those who need it now, here is the direct download link on SeleniumHQ.

-Adam Goucher