client side performance testing - performance

i wanted to test web based software where java script play significant role.i want to check the performance ,can anyone suggest good tool. also iwant to automate the same.
Note : iam using jmeter for performance testing now.

Check out Yslow in firefox
https://addons.mozilla.org/en-US/firefox/addon/yslow/

With Firebug, you can use
console.time("name");
console.timeEnd("name");
or
console.profile();
console.profileEnd();
around a specific block of JS
I guess you could write a firebug plugin to somewhat automate it but it's more for looking for specific things.

Related

Profiling Webworkers in Firefox

I am trying to profile a Javascript app with Firefox Quantum. The part that I am most interested in runs inside webworkers. I am not sure if I am doing everything correctly, but I cannot find a way to get any useful data with the built in profiler. All I can see is this:
Is there a hidden feature that can help me look inside the webworker?
For anyone else finding this in the future: https://profiler.firefox.com/ is able to profile Web Workers.
You need to open the Resources drop-down and choose Thread: DOM Worker.
After further looking into this I came to the conclusion that Firefox does not support runtime analysis for web workers at the moment. I will have stick with Chrome for profiling our app.

Testing IE on Mac using Selenium Grid?

Is there a way to do this? I am having issues setting up the company's VM, and was wondering if there is an alternative.
If you can afford you can go for Cloud based cross browser testing services like SauceLabs or BrowserStack.Both were easy to configure and works the same way grid works.All you have to do is give the remoteurl.You can try with trial license and see if it suits your need
You can see comparitive study of these and others here
It's Feb 8, 2017 and I'm using BrowserStack to do Selemium Webdriver testing using mocha/node, W7/8.1/10, and IE11 and there are several issues with the platform and ie webdriver (2.3, per their site), e.g. input fields are not in view by default, wrong chars are sent to input fields, etc. It is also slow. I might start looking into running grid if we cannot get better use and value out of $80/month charge.

Is there a way to test Comet applications without a running browser?

I'm trying to connect to an application that uses Comet and is pretty heavy on Javascript and Comet. I've gone as far as I can go in Firebug, HTTP Header examination and am trying to see what's coming over the wire by writing something using Ruby Mechanize.
However, since I have no client run-time, my approach is to mimic the HTTP requests going back and forth (doing this using Ruby Mechanize). I'm looking at the logs and comparing them to LiveHTTPHeader output and it's very similar but the server isn't responding (I don't have access to the server side code).
Are there tools that could help? Has anyone tried simulating the DOM and Javascript runtime using something like Rhino or is that just asking for pain?
The only sane way I've found to run automated tests on web apps involving substantial Javascript (w/ or w/o Comet) is selenium rc -- basically, mechanizing/automating a real browser from your favorite programming language. (There may be other approaches with a similar architecture, but Selenium is popular and it's what I'm familiar with). Simulating browser's DOM and JS is just too painful -- been there, tried that, failed miserably;-).
Visual Studio 2010 Ultimate edition provides very good testing support for web applications. I had tried the web load test and it was impressing.

Scripting YSlow and/or PageSpeed

As I'm starting to do some front end engineering at work, I would like to properly quantify the speedup achieved.
I would like to be able to use an average value of, say, 50 page load times measured by YSlow or Google Page Speed. Obviously, I don't want to hit reload 50 times and write down the value.
Is there a FF plugin for that or will I have to write a Firebug extension myself? Or maybe there is a non-FF, command-line tool that does what I'm planning?
I recently did a talk about this at Google Test Automation Conference in Zurich for this.
Slides for it are here
And I did a blog post on my company site about it and that can be found here
We were able to use the YSlow Beacon and Selenium together to automate the entire process.
I hope that helps!
Also check out GTmetrix which can do PageSpeed and YSlow analysis from a variety of reasons and has a free API you can use to automate this.
Not sure if you use Grunt in your development workflow, but there is a great package avaible that allows for easy scripting - check it out:
https://www.npmjs.org/package/grunt-pagespeed
Once you run it, it will output the results as follows:
Or, if you prefer to write your own, the Google PageSpeed API is also quite easy to use. Check out this blog post for more information:
http://deanhume.com/home/blogpost/the-google-pagespeed-api-and-mvc-4/86

How can I check my AJAX for browser capable?

I always have to check each and every browser to see if my website would work. Is there a website where I can check it with?
Update:
I don't really want just screenshots (which what browsershots do), I want to actually test the posting of my script.
You want a web site to check your web site for javascript compatibility? How would you expect it to know how to exercise your interface to trigger the proper interactions? Or are you thinking of it doing some sort of static code analysis? I think you are better off coding against a framework that has solved most of the browser-dependent idiosyncrasies and using it to check for browser capabilities before you use them. jQuery, MooTools, Prototype/Scriptaculous, etc. go a long way in solving these problems for javascript.
Note that you still need to worry about rendering your site, but you already have several answers for how to go about doing that based on web sites. Personally, I just maintain IE/Safari/FF/Opera/Chrome on my workstation and do significant checking in IE/FF and basic checking in Safari/Opera/Chrome.
Even when there exist websites that allow you to see a static snapshot of your site in several browsers, you should really test your page on them yourself, because there can be subtle, and not so subtle, bugs and differences that are only apparent when interacting with the webpage.
You can cover yourself quite a lot by testing in
A Gecko engine browser (Firefox)
A Webkit engine browser (Chrome, Safari, Konqueror)
Opera
AND IE6+
John Resig recommends checking the Yahoo graded browser support documentation.
If you write unit tests for your javascript, you could use testswarm http://testswarm.com
There are multiple options:
http://ipinfo.info/netrenderer/
These site will let you run multiple browsers and version without installing. You only need to install a plugin
http://spoon.net/browsers/
There are plenty of sites, just Google/Bing for browser compatibility check.
http://browsershots.org/ is a good one.
Although most of them just take a snapshot of the site, you might have to do the manual check for things like menus and dynamic content.
BrowserShots might do what you want if you can tell by rendering a particular URL whether or not things will work as expected.
In light of your update, you could still use BrowserShots by creating a page which tests each of your scripts and renders 'pass' or 'fail' as its content depending on whether they work or not.
Failing that, Multiple IE is quite useful for running various versions of IE on one PC which can otherwise be problematic.

Resources