Showing posts with label Selenium-RC. Show all posts
Showing posts with label Selenium-RC. Show all posts

Thursday, November 6, 2008

FIT mode best choice: running Selenium with Firefox Chrome TestRunner

I don't think Selenium-RC is the best choice for QA who does feature testing & regression testing with blackbox style, esp. those who doesn't have programming background.

S-RC(JAVA) disadvantages for blackbox QA/regression testing:
1) programming skills trainning cost for QA
2) test code complexity for maintenance
3) bad HTTPS/SSL page support
4) popup/alerts make automation stuck, require an autoclick alerts mechanism
5) not stable and with weird issues caused by Proxy Server
6) not lightweight tools, need setup environment
7) still need do 2nd around development to integrate with regression distributed system(even if S-GRID).

FIT mode is familiared by QA. There has 3 ways:
1) deploy Selenium CORE/TEST on testing server
2) MS IEHTA with test case repository anywhere
3) Firefox Chrome by Selenium-IDE with test case repository anywhere

For 1), some company has restriction to deny to do deployment
For 2), IEHTA is unstable and has critial issues such as multiwindow popup,xpath slowness etc. It's also hard to provide a session/cache isolation solution for multiple instances running simultaniously on one machine. It's also hard to create a recorder for IE.

I think running Selenium with Firefox Chrome TestRunner is the best choice for FIT mode.
1) Selenium-IDE is a good tool with recorder and still can do huge improvements.
2) Stable and well support HTTPS. Well support multiwindow.
3) multiple selenium running simultaniously on same machine with session/cache isolation by Firefox profiles mechanism
4) set FF preferences to let Selenium not stuck(click out popup/alerts)
5) save run snapshot/results/log to local file system other than postUrl solution
6) No need any proxy server. No need any additional installation and configuration.
7) Opensource Firefox platform is developer friendly. Firefox Chrome's XPCOM APIs can support us to implement all kinds of selenium features.

However, the bottleneck for openqa's FIT mode(Esp. Selenium-IDE) not become enterprise usage:
1) Selenium-IDE doesn't save down detailed enough snapshot/results/log to local file system which is the significant requirement for enterprise tools. Many other significant requirements also haven't been implemented.
2) FIT mode doesn't provide neccessary development SDK. We can build our enterprise test case maintenance system with GUI/webflow, parallel execution system with distributed infrastructure, result reporting system with DB/file system. However, we need SDK APIs to integrate Selenium FIT engine into these systems.

Most of developers are contributing for S-RC product on community. I hope openqa can also push Selenium-IDE FIT product line for enterprise usage.

Monday, November 3, 2008

Selenium FIT mode vs. Driven mode

Selenium has two usage modes:
1)FIT mode: table style simple script which usually run on Selenium CORE/IDE in standalone IE/FF. We also call it as 'Selenese'. It's simple and easy to install/use for QA with no programming skills.
This is more for "black box" testing and is "asynchronous" in design.
You send the whole test script over to the browser in a "REST" fashion, it generally only has the same access to click and type and change things as a regular user would.

2)Driven mode: a language specific driver for Selenium. It used a proxy server to bypass Same Origin Policy for Selenium. Selenium RC is the product for this mode.
This enables "white box" testing and also "synchronous" in design.
With white box testing, you can send one command to the browser in an "RPC" fashion, get a result, then check the back-end database to confirm like Unit Test. You can benifit from programming lauguage like Java for Selenium.

Read Jason Huggins' topic: Choosing between "Driven Mode" and "FIT or Table style"