cs-au-dk / Artemis

automated testing for JavaScript
http://www.brics.dk/artemis/
GNU General Public License v3.0
36 stars 10 forks source link

Silence concolic error messages #88

Closed budde377 closed 10 years ago

budde377 commented 10 years ago

I'm getting following errors without running in concolic mode (on uol.com.br):

Error: Form input element without ID, name or Artemis ID used - this will break concolic execution!
Error: Form input element without ID, name or Artemis ID used - this will break concolic execution!
Error: Form input element without ID, name or Artemis ID used - this will break concolic execution!

I think these should be warnings instead.

BenSpencer commented 10 years ago

Also do you think they should only be generated when we are in concolic mode? It has been quite handy for me in manual mode as well so maybe we should either surface this info some other way or just turn it off for the normal mode?

sema commented 10 years ago

I'm +1 on changing these to warnings since it is not always fatal (even in concolic mode) that we encounter these. It is only a problem if we actually need these inputs to be symbolic.

I think we should reserve the "error" keyword to fatal problems.

sema commented 10 years ago

In this particular case I can't figure out why and when we see these inputs without either a name or id. Manual inspection of the page does not show any inputs without any of these attributes, and the debugger suggests that the type of the inputs we encounter are either empty or garbage. Very strange.

I'm suspecting that these inputs are being constructed somehow when this happens. So in effect these "errors" are benign.

budde377 commented 10 years ago

I have now silenced the error messages, but am also experiencing the strange behavior, that Caspers sees, on sites like amazon.com and linkedin.com.

sema commented 10 years ago

Lets make an issue on the other problem if we see it being encountered on a page after page load. We can ignore these errors if they appear while the page is being constructed (we are not aiming at using the concolic execution in that phase for now).