====== Moddr worshop @ iMAL ====== http://moddr.net/ \\ http://moddr.net/download \\ All code here is copied from this page: http://moddr.net/wiki/doku.php?id=workshop \\ I just added some notes to it. === installation === wget http://moddr.net/download/imal.tgz tar -xvf imal.tgz sudo aptitude install sun-java6-bin sudo aptitude install openjdk-6-jre-headless sudo aptitude install recordmydesktop * install firebug https://addons.mozilla.org/en-US/firefox/addon/1843/ * install selenium ide https://addons.mozilla.org/en-US/firefox/addon/2079/ === getting started cmdline === cd imal ./start_selenium.sh Wait for the command prompt, then... To start 2 browser windows... one for debug and another for playing around cmd=getNewBrowserSession&1=*firefox&2=http://www.google.com Open Google url in the browser cmd=open&1=http://www.google.com Enter "trollface" in the search box cmd=type&1=name=q&2=trollface Make it click the "Search" button cmd=click&1=name=btnG Copy this code below to a file.py #!/usr/bin/python from selenium import selenium import unittest, time import random # selenium functions def login_process(website): sel = selenium("localhost", "4441", "*chrome", website) sel.start() sel.open_window(website,"whatever") sel.select_window("whatever") sel.set_timeout(120000) sel.window_maximize() #sel.refresh() return sel login_process("http://google.com") #!/usr/bin/python from selenium import selenium import unittest, time import random # selenium functions def login_process(website): sel = selenium("localhost", "6666", "*chrome", website) sel.start() sel.open_window(website,"whatever") sel.select_window("whatever") sel.set_timeout(120000) # sel.window_maximize() time.sleep(4) print "i am in the Internet" return sel def kill_window(sel): print "done :)" sel.close() def query(sel): print "do the query" sel.type("q_d", "rotterdam, willem buytewechstraat 188A") sel.click("q-sub") time.sleep(3) sel.click("//div[@id='cbctl']/div[3]/div[4]") for i in range(1000): sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='cbctl']/div[3]/div[4]") # zooming sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") sel.click("//div[@id='lmczo']/div[2]") # performing a random urban walk (petrautomata ;) for i in range(1000): # generating random number between 1 & 4 j = random.randint(1,4) # this is the command for left/right/top/bottom cmd = """sel.click("//div[@id='compass']/div[%s]")""" %j # exectue the command eval(cmd) time.sleep(1) return sel sel = login_process("http://maps.google.com/") sel = query(sel) kill_window(sel) === run firefox in background === http://schettino72.wordpress.com/2008/01/09/running-gui-apps-on-the-background-invisible/