None of the performance testing tools I'm currently aware of doesn't know anything about iframes, DOM, styles, scripts, etc. They operate on protocol level, for particularly HTTP load testing tools send GET/POST/PUT/DELETE/etc. requests and measure response time. So performance testing assumes the following steps:
- Creating test sceleton (record or manual development)
- Correlaction (getting dynamic parameters from previous request and adding them to the next one)
- Parametrization (once test is working fine for 1 virtual user more users and data can be added.
- Run the test
- Analyze results
In regards to JMeter world:
- To record your test scenario - HTTP(S) Test Script Recorder
- For correlation:
- Parametrization
- CSV Data Set Config
- Various samplers and functions allowing reading files, perform database queries, generating random integers,strings,etc.
For the most popular open source testing tools:
- Grinder
- Gatling
- Tsung
For above tools main features comparison and review see Open Source Load Testing Tools: Which One Should You Use? article.