# File test/test_wpm_writer.rb, line 643
    def test_run_many_with_xml_update
      dst = build_test_page
      @env['REQUEST_METHOD'] = 'GET'
      @env['SCRIPT_NAME'] = '/test_wpm_writer.cgi'
      @env['PATH_INFO'] = '/MainPage'
      @params['action'] = 'MainPage.LinkAction.0'
      @params['_wpm_submit_'] = 'MainPage.Form.0'
      @params['MainPage.HiddenAttribute.0'] = 'hidden message'
      @params['MainPage.TextField.0'] = 'HALO'
      @params['MainPage.Password.0'] = 'open sesame'
      @params['MainPage.TextArea.0'] = "Hello world.\n"
      @params['MainPage.CheckBox.0'] = ''
      @params['RadioGroup'] = 'bar'
      @params['MainPage.Select.0'] = 'bar'
      @params['MainPage.SubmitButton.0'] = ''

      while (Time.now < File.mtime(File.join('MainPage', 'MainPage.xml')) + 1)
        sleep(0.1)
      end

      ntries = 3
      update_point = 1
      assert(ntries > update_point)
      for i in 0...update_point
        @params['nth_trial'] = i.succ.to_s
        @writer.run(@driver)
      end
      File.utime(Time.now, Time.now, File.join('MainPage', 'MainPage.xml'))
      for i in update_point...ntries
        @params['nth_trial'] = i.succ.to_s
        @writer.run(@driver)
      end

      assert(@env_call > 0)
      assert(@params_call > 0)
      assert_equal(1 * ntries, @header_call) # Rucy::Driver#header called for logging
      ntries.times do |i|
        assert_equal('Status', @header_name_list[i])
      end
      assert_equal(3 * ntries, @set_header_call)
      ntries.times do |i|
        assert_equal([ 'Status', '200 OK' ], @set_header_alist[i * 3 + 0])
        assert_equal([ 'Content-Type', 'text/html' ], @set_header_alist[i * 3 + 1])
        assert_equal([ 'Content-Length', format(dst, i.succ).length.to_s ], @set_header_alist[i * 3 + 2])
      end
      assert(@write_call > 0)
      dst2 = ''
      for i in 1..ntries
        dst2 << format(dst, i)
      end
      assert_equal(dst2, @write_messg)
    end