I’ve had to deal with this from the beginning of my work with Rails and
Mysql, but now it’s really putting me on full stop. I’ve started using
Selenium and Selenium IDE to do system testing of my rails site (highly
recommended, pick up selenium_on_rails plugin). Selenium IDE, when you
click
on a link, basically grabs the entire a tag to make sure it knows what
link
to click on. For this situation, it’s:
//a[@onclick=“new Ajax.Request(’
http://localhost:5000/portal_tables/14/records/1’, {asynchronous:true,
evalScripts:true, method:‘get’}); return false;”]
The problem is “portal_tables/14”. The portal_tables table is rebuilt
before
each test (fixtures), which means in MySQL that the id each portal_table
gets is now different. So when Selenium goes to click on this link I
told it
to look for, it can’t find it because the link is now:
//a[@onclick=“new Ajax.Request(’
http://localhost:5000/portal_tables/26/records/1’, {asynchronous:true,
evalScripts:true, method:‘get’}); return false;”]
So, how do I stop this from happening? Is there a mysql server
configuration
I can set that resets auto_increment when a table is cleared? This is
one of
the more annoying “features” of MySQL vs Postgres (in which I’ve never
seen
this problem before).
I’m sure others have hit this problem, is it easily solvable?
Jason