2011-10-10 1 views
5

quando eseguo il test del selenio su Win XP Internet Explorer 8, il test non si avvia correttamente. Avvierà il test utilizzando i cookie/cache di una corsa precedente. Questo non succede quando eseguo il test in Firefox. Qualcuno ha una soluzione alternativa per questo? Preferibilmente in Python
Alcune delle mie idee:
- avere uno script eseguito in tearDownClass che elimina tutti i file temporanei in: C: \ Documents and Settings \ Proprietario \ Impostazioni locali \ File temporanei Internet
- invece di "* iehta "come il browser l'ho impostato alla modalità privata di Internet Explorer" * personalizzato C: \ Programmi \ Internet Explorer \ iexplore.exe -private "(--che non ha funzionato a causa della mia sintassi disattivata?Problemi di caching di selenio Internet Explorer 8

Grazie.

import unittest, inspect, time, re, os 
from selenium import selenium 

class TESTVerifications(unittest.TestCase): 
@classmethod 
def setUpClass(self): 

    self.selenium = selenium("localhost", 4444, "*iehta", "https://workflowy.com/") 
    self.selenium.start() 
    self.selenium.set_timeout("60000") 
    print("setUpClass")  
    self.selenium.window_maximize() 
    self.selenium.open("/") 


def setUp(self): 
    self.verificationErrors = [] 


def test_login_6(self): 
    sel = self.selenium 
    sel.open("/") 
    sel.type("css=input[id='id_username']",'[email protected]' ) 
    sel.type("css=input[id='id_password']",'password') 
    sel.click("css=form[id='login'] > input.submit") 
    sel.wait_for_page_to_load("60000") 
    self.failUnless(sel.is_element_present("id=logout")) 


def tearDown(self): 
    #self.selenium.stop() 
    self.assertEqual([], self.verificationErrors,"Results: " + str(self.verificationErrors)) 
@classmethod  
def tearDownClass(self): 

    self.selenium.stop() 
    print("tearDownClass") 

if __name__ == "__main__": 
unittest.main() 

risposta

1

È possibile utilizzare sel.delete_all_visible_cookies() che rimuovere un y cookie creato dal dominio corrente. Se si dispone di più domini, è possibile utilizzare il seguente:

def clean_history(sel, domains): 
    temp = sel.get_location() 
    for domain in domains: 
     sel.open(domain) 
     sel.delete_all_visible_cookies() 
    sel.open(temp) 

Vedi this blog post per ulteriori informazioni.

+0

Questo funziona per me. Grazie! – gorbysbm