2011-10-10 15 views
5

cuando ejecuto mi prueba de Selenium en Win XP Internet Explorer 8, la prueba no se inicia de nuevo. Comenzará la prueba usando las cookies/caché de una ejecución previa. Esto no ocurre cuando ejecuto la prueba en Firefox. ¿Alguien tiene una solución para esto? Preferentemente en Python
Algunos de mis ideas:
- tener un script que se ejecuta en el tearDownClass que elimina todos los archivos temporales en: C: \ Documents and Settings \ Propietario \ Configuración local \ Archivos temporales de Internet
- en lugar de "* iehta "como el navegador lo configuré en el modo privado de Internet Explorer" * C: \ Archivos de programa \ Internet Explorer \ iexplore.exe personalizados privados (- eso no funcionó debido a que mi sintaxis estaba desactivada?Selenium Internet Explorer 8 problemas de almacenamiento en caché

Gracias.

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() 

Respuesta

1

Puede usar sel.delete_all_visible_cookies() que eliminará un y cookie creada por el dominio actual. Si tiene varios dominios, puede utilizar el siguiente:

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

Ver this blog post para más información.

+0

Eso funciona para mí. ¡Gracias! – gorbysbm

Cuestiones relacionadas