Is there any way to find out what is the mechanism for converting Visual Force to HTML language to load on IE?
You should be using the $Component Global Variable. In this way, you can readily get the correct value for the ID after it's been mangled. Keep in mind, when using this variable, you have to name all the main elements between the root and the component:
<apex:pageBlock id="block1">
<apex:pageBlockSection id="section1">
<apex:inputField value="..." id="field1" />
Which you reference by value:
{!$Component.block1.section1.field1}
Is it possible to keep object names same as listed on Salesforce after objects loaded on IE?
No, because the system builds the ID values on purpose to be unique so that language features such as reRender
will correctly resolve elements without fail. If you absolutely don't want to have your ID values modified, you can use normal HTML elements, but you'll also have to write JavaScript to bind the input values to the controller by way of hidden variables, etc. It's a painful experience, to say the least, although it'd be manageable (barely) if you were using AngularJS to manage the two-way bindings.
In addition, Salesforce use Automation for regression testing using Selenium what methodology or technique Salesforce using for the automation regression testing to keep up with object names changes?
You'll probably want to query by partial ID, such as:
WebElement myInputField = driver.findElement(By.cssSelector("input[id$=fieldId]"));
Note that if you're using a repeat element, you'll potentially get multiple values, so you'd want to use findElements
instead.