require 'mechanize'

BASE="http://onlinetest.swsch.de/"

def login(name)
  Thread.start( name ) { |n|
    agent = WWW::Mechanize.new
    rw = agent.get( "#{BASE}onlinetest" )
    rw.encoding = "UTF-8"
    rw.search( '//head/script' ).each do |s|
      script = agent.get( BASE + s["src"] )
    end
    rw.search( "//head/link[@rel='Stylesheet']" ).each do |s|
      css = agent.get( BASE + s["href"] )
    end
    form = rw.forms.first
    input = form.fields.first
    input.value = n
    tw = agent.submit( form )
    tw.encoding = "UTF-8"
  }
end

threads = Array.new
$stdout.puts( "starting" )
uid = Time.now.to_f.to_s
1.upto( ARGV.first.to_i ) { |i| threads << login( "user_#{uid}_#{i}" ) }
$stdout.puts( "waiting" )
threads.each { |t| t.join }
$stdout.puts( "done" )
