code: def test_inin008_index_customization(dash_duo):
      app = Dash()
  
      app.index_string = """<!DOCTYPE html>
      <html>
          <head>
              {%metas%}
              <title>{%title%}</title>
              {%favicon%}
              {%css%}
          </head>
          <body>
              <div id="custom-header">My custom header</div>
              <div id="add"></div>
              {%app_entry%}
              <footer>
                  {%config%}
                  {%scripts%}
                  {%renderer%}
              </footer>
              <div id="custom-footer">My custom footer</div>
              <script>
              // Test the formatting doesn't mess up script tags.
              var elem = document.getElementById('add');
              if (!elem) {
                  throw Error('could not find container to add');
              }
              elem.innerHTML = 'Got added';
              var config = {};
              fetch('/nonexist').then(r => r.json())
                  .then(r => config = r).catch(err => ({config}));
              </script>
          </body>
      </html>"""
  
      app.layout = html.Div("Dash app", id="app")
  
      dash_duo.start_server(app)
  
      assert (
          dash_duo.find_element("#custom-header").text
          == "My custom header"
      )
      assert (
          dash_duo.find_element("#custom-footer").text
          == "My custom footer"
      )
      assert dash_duo.find_element("#app").text == "Dash app"
      assert dash_duo.wait_for_element("#add").text == "Got added"
  
      assert dash_duo.get_logs() == []
  
imports: import datetime
  import flask
  import json
  import pytest
  import re
  from bs4 import BeautifulSoup
  import dash_dangerously_set_inner_html
  import dash_flow_example
  import dash
  from dash import Dash, html, dcc, Input, Output
  from dash.exceptions import PreventUpdate
  from dash.testing.wait import until
label_desc: Use image node_id 6 for calling a global function with example usage: test_inin008_index_customization(dash_duo) without return types