In Java script executor, executeScript should be passes the js it self, but in your case - "c:/popup.js" is not js but the location of file js is stored.
So, at least upto our knowledge, should I assume that, we can't pass .JS file with getEval as a parameter.
Is the .JS used very frequently with SElenium for the day-to-day operations (normal I mean), not for a specific purpose.
I meant, enter text, select checkbox etc, webtable interaction - we don't need .JS.
Yup you don't need for day to day operations. It's only for those times when for some strange reason you would not be able to exercise some html element. Then js execution would come for rescue .