Saturday, June 13, 2009

Revolutionary Testing Tools for AJAX Applications

Revolutionary Testing Tools for AJAX Applications

http://blog.browsermob.com/2008/12/faq-how-do-you-compare-to-selenium/

A few years ago, we used JMeter to try and load test a chat application we were building. Since the chat application used Comet and AJAX, I knew that the JMeter test was going to be grossly inaccurate. However, we did the best we could with tools that clearly weren't right for the job, as nothing was out there that could simulate an AJAX or Comet load test.

A few weeks ago, while working with some other consultants on a project, we discussed the use of Selenium to run some functional testing on a Firefox Extension that inserts signatures into an email. We needed a tool that could automatically send an email using Gmail, Yahoo, and Hotmail, and verify that the signature was still injecting. From my days writing HTML Reply Signatures for Gmail, I knew that this was indeed important, as any change by these third parties could have a drastic effect on the tool's ability to insert a signature.

Today, one consultant and I worked to try to insert an email address into the "To" field of the Gmail Compose window using Selenium. I've done this already in the Firefox extension, and anyone who has ever written a Greasemonkey script or Firefox extension that works with Gmail 2 can attest that this is not always an easy task if you are working outside of the API exposed by Gmail. Google engineers have put lots of effort in writing server-side code that ensures that all the id attributes in the Gmail application randomly change each session. Their creativity has sparked our creativity, and we have solved this problem. With enough time and patience, any problem can be solved.

Anyway, with Selenium, one must locate elements in the HTML of a web application by using XPATH queries. Armed with my trusty Firebug tool, I inspected the element in question and worked my way up the tree one element at a time, writing down the element tag names and positions at each step. Like a complex code, we ended up with long XPATH queries, a seemingly endless series of div[1]/div[2]/div[1]/div[1]. Although I would have preferred to just use JavaScript and a good for loop or regular expression to locate what I wanted, being a code cracker and approaching this problem from another angle was an eye-opener, XPATH is perhaps the way to go!

So that's a little background on my experience so far with testing tools. Selenium isn't a load testing tool of course, but it's a great tool to automate functional testing. It's almost like a macro recorder, similar to iMacros. Our plan is to set our test up on a VMWare image and configure this to run automatically every day. We'll get emails with our signature if it's successful, and broken or no email if it's not successful. We're also configuring it to be really loud and obnoxious if it does detect that something is amiss, just so we don't gloss over the automated emails.

Selenium can do functional testing, but what about load testing? Sure, Selenium can do load testing as well! Selenium uses real web browsers in testing, but it's up to the person doing the tests to go out and purchase the hardware to run the tests. In other words, if you want to do a 100 user load test with Selenium, you need to have 100 computers in your lab and 100 people to all click "Run" at the same time.

This is analogous to a symphony with you as the conductor who tells everyone exactly when to click "Run Test".

Of course, coordinating such an event can be costly, so one of the developers of Selenium Remote Control founded BrowserMob. BrowserMob solves this issue by providing the hardware. They claim to load test your web application using Selenium scripts and N number of real web browsers! I would be really interested to know how this was accomplished and how the costs have been kept so low.

To start, they probably use VMWare and Linux, which is one way to reduce the amount of physical hardware while still trying to simulate real hardware. They say they use Firefox 3.0, which is available on Linux. Finally, if Selenium Remote Control launches Firefox browsers to simulate functional tests, then my guess is BrowserMob is controlling a series of Selenium Remote Control instances, all running on VMWare Linux machines, and allowing BrowserMob to monitor the load.

While there are some costs associated with BrowserMob, I imagine one could use Selenium Remote Control installed on several VMWare images to run a small load test. If anyone has experience with either Selenium Remote Control or BrowserMob, I'd love to hear your thoughts on the two products!

72 comments:

  1. Grateful for hadoop training in chennai your enlightening post on selenium mechanization oracle Training in chennai testing contraption. Your article helped me a mind blowing plan in comprehension the fate of robotization hadoop training in chennai testing instrument and its occupation prospects

    ReplyDelete
  2. Hi friends, This is Jamuna from Chennai. Your technical information is really useful for me. Keep update your blog.
    Regards..
    Oracle Training in Chennai

    ReplyDelete
  3. Thanks for sharing your innovative ideas..Its really useful and interesting...

    Regards...

    Salesforce Administrator Training in Chennai

    ReplyDelete
  4. Java is one of the popular technologies with improved job opportunity for hopeful professionals. Java Training in Chennai helps you to study this technology in details.If you are looking for best Java Training Institutes in Chennai reach Fita academy.

    ReplyDelete
  5. Hi, Your blog is really very informative and useful for me. Thanks for sharing this valuable blog.
    Regards..
    Unix Training

    ReplyDelete
  6. Really awesome blog. Software testing is a method of executing the application or program with the intent of searching the software errors. Software Testing Training in Chennai offering this course at reasonable cost.





    ReplyDelete
  7. Thanks for sharing your ideas. It’s really useful for me. Selenium is an automation testing tool used for web applications. I did Selenium Training in Chennai at besant technologies. It’s useful for me to make a bright career in IT industry. For more details visit Selenium Training in Chennai.

    ReplyDelete
  8. Interesting and worth able content is discussed here. The fact about current technology is explicitly stated over here. I do agree on your thoughts on how the influencers are taking advantage over emerging technology. Thanks for sharing this in here. Keep bloging like this.

    Hadoop Course in Chennai | Big Data Training | Big data training

    ReplyDelete
  9. The Information which you provided is very much useful for Testing Training Learners Thank You for Sharing Valuable Information.
    Software Testing Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  10. Thank you for this brief explanation and ver nice information. well, got a good knowledge. Have a nice idea, this is more helpful to me. This can gives the better performance.
    Hadoop Training in Chennai

    ReplyDelete
  11. Thanks a lot for letting me a chance to visit your any pointers. Your article about web design is really impressed me very much.Buzz Apps

    ReplyDelete
  12. This theory of Selenium looks great to learn. Professional SEO Packages

    ReplyDelete

  13. revolutanary post thanks for sharing..
    Hadoop training in hyderabad.All the basic and get the full knowledge of hadoop.
    hadoop training in hyderabad


    ReplyDelete

  14. Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information.
    Regards,'
    Performance Tuning Training in Chennai | Oracle PL/SQL Training in Chennai

    ReplyDelete
  15. Great to know about the Revolutionary Testing Tools for AJAX Applications. I'm have been waiting for a long time. Thanks :)
    Selenium training in Chennai |Best Selenium training institute in Chennai

    ReplyDelete
  16. We Reduced the batch size to make our training more interactive, well structured & timing too made more flexible for students convenient.
    Android Training in Velachery |
    Android Training in Anna Nagar |
    Android Training in Velachery |
    Android Training in Chennai |

    ReplyDelete
  17. Wow. It is sounds good to hear about java. You have given wonderful suggestion and guidance about java. thanks for posting your comprehensive tactics about java.
    java training in chennai

    ReplyDelete
  18. hi welcome to this blog. really you have post an informative blog. it will be really helpful to many peoples. thank you for sharing this blog.
    java training in chennai

    ReplyDelete
  19. Nice tips for someone new into the world of java. Really great tips and finally definitely will help to develop a program in java.
    java training in chennai

    ReplyDelete
  20. hi welcome to this blog. really you have post an informative blog. it will be really helpful to many peoples. thank you for sharing this blog.
    java training in chennai

    ReplyDelete
  21. I really appreciated to our blog site information Thank you so much for this article here. Truly it is an astounding article I had ever learned.Thanks for sharing this informative content that guided me to know the details about the training offered in different technology.
    Dot Net Training in Chennai | Dot Net Training Institute in Chennai | Dot Net Training with Placement in Chennai

    ReplyDelete
  22. This is really a great post. Thank you for taking time to provide us some of the useful and exclusive information with us. Keep on blogging!!

    Android Training Institute in Chennai

    ReplyDelete
  23. Your Java blog has explained the concepts clearly with suitable examples. Many programming languages have evolved but Java is still in NO:1 position due to its great features.

    Regards:

    JAVA J2EE Training in Chennai |
    JAVA Training Institutes in Chennai

    ReplyDelete
  24. The way you have explained the Big Data concept is really superb! I have never come across such a informative blog in my career. Nowadays, Hadoop course is in high demand by most of the professional to enhance their career.

    Regards:

    hadoop training in velachery |
    big data training in velachery

    ReplyDelete
  25. Good and first-rate blog post, thanks for sharing your facts.. It's miles very useful to me seo training in Chennai

    ReplyDelete
  26. Thanks for the article :)

    - Divya,
    Trainer,
    Kamal Technologies - Best React JS training institute in Chennai

    ReplyDelete
  27. Thanks for this article....


    QTP Tutorial

    ReplyDelete
  28. Nice Blog, Thanks for sharing this valuable one. This very useful for me and gain more information.

    Regards,
    Selenium Training in Chennai

    ReplyDelete
  29. Thanks For Sharing Valuable Information, Very Useful For U Mulesoft Certification Training

    ReplyDelete
  30. I get a lot of great information from this blog. Thank you for your sharing this informative blog.AWS Training in Chennai

    ReplyDelete

  31. Also it is good to know that,
    Credo Systemz, Velachery/OMR is the best Amazon Web Services Certification Training ranked by more than 2000+ certified candidates all over India. Our Amazon Web Services® training program includes all the important services to do your aws certifications easily.

    Quick Links:

    aws training in chennai with placement| aws authorized training partner in chennai|aws solution architect training in chennai

    ReplyDelete
  32. Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information.
    CCNA Training in Chennai
    DevOps Training in Chennai
    DevOps foundation certificate
    DevOps institute certification
    CCNA institute in Chennai
    CCNA Training center in Chennai

    ReplyDelete
  33. Your blog is very creative and very helpful for me. I feel thanks to you for posting such a good blog, keep updates regularly..
    SEO Training in Tnagar
    SEO Course in Nungambakkam
    SEO Training in Saidapet
    SEO Training in Sholinganallur
    SEO Course in Navalur
    SEO Training in Kelambakkam

    ReplyDelete
  34. This blog is more effective and it is very much useful for me.
    we need more information please keep update more.
    AWS Training in Saidapet
    AWS Training in Ambattur
    AWS Certification Training in Bangalore
    AWS Certification Training

    ReplyDelete
  35. Thanks for sharing this valuable information.Its more useful to us.its very interesting to know the blog
    with clear vision.

    linuxhacks
    Article submission sites

    ReplyDelete
  36. Its is good and very informative. I would like to appreciate your work. clearly explained
    Regards
    Best Machine Learning Institute

    ReplyDelete
  37. Good post with bags of information. Thanks for sharing with us.

    Selenium Training in Bangalore

    ReplyDelete
  38. Your blogs are easily accessible and quite enlightening so keep doing the amazing work guys.
    mediaonlines.com

    ReplyDelete
  39. And indeed, I’m just always astounded concerning the remarkable things served by you. Some four facts on this page are undeniably the most effective I’ve had.
    cloud computing courses in chennai | cloud computing training in chennai | cloud training in chennai | cloud certification in chennai | cloud computing classes in chennai

    ReplyDelete
  40. This comment has been removed by the author.

    ReplyDelete
  41. Very interesting blog. Many blogs I see these days do not really provide anything that attracts others, but believe me the way you interact is literally awesome.You can also check my articles as well.

    Rowe Rowe
    Manager Rowe Rowe
    Rapper Rowe Rowe

    Thank you..

    ReplyDelete
  42. Thanks for Sharing a Very Informative Post & I read Your Article & I must say that is very helpful post for us. Primavera P6 Certification Training in Chennai | Primavera Training in India

    ReplyDelete
  43. This is completely powerful software that helps it’s users in mainstream. The features of Windows 8 are totally amazing and they works very well. https://cyberspc.com/windows-8-crack-product-key/

    ReplyDelete
  44. Every step of my life has been memorable and awesome since we met. I love you will all my heart. Good morning my love. My sweet love, you are my everything Website

    ReplyDelete
  45. You may design cards of any level of sophistication with the free download version of Zebra CardStudio, which features an intuitive user interface. CardStudio makes it simple to create and print your own personalized greeting cards.
    https://softhound.net/zebra-cardstudio-professional/

    ReplyDelete
  46. Thanks for giving me a place to find good information and ideas and for making it look so nice.
    https://getcrackpc.com/rawtherapee-crack/

    ReplyDelete
  47. The writer shares experiences using Selenium for functional testing, detailing challenges faced in automating Gmail-related tasks. They praise Selenium's automation capabilities but express limitations in load testing due to hardware requirements. They mention BrowserMob's solution for distributed load testing using Selenium. The comment acknowledges the informative insight provided into Selenium's usage for both functional and load testing, highlighting its benefits and the potential of BrowserMob's approach for efficient web application testing.

    Ultimate Data Analytics Training Course

    ReplyDelete
  48. Really a awesome blog for the freshers. Thanks for posting the information. Discover the world's best GCSE home tuition with Ziyyara Edutech! Our dedicated GCSE online tuition is designed to empower students with exceptional educational support.
    For more info visit GCSE home tuition

    ReplyDelete
  49. Very useful! Especially now, choosing online learning in UAE gives students the opportunity to study smarter, not harder.

    ReplyDelete