Проблемы с кэшированием в Selenium Internet Explorer 8 - PullRequest
5 голосов
/ 10 октября 2011

, когда я запускаю свой тест Selenium в Win XP Internet Explorer 8, тест не начинается заново.Он начнет тестирование с использованием файлов cookie / кэша с предыдущего запуска.Этого не происходит, когда я запускаю тест в Firefox.У кого-нибудь есть обходной путь для этого?Желательно в Python
Некоторые из моих идей:
- запустить скрипт tearDownClass, который удаляет все временные файлы в: C: \ Documents and Settings \ Владелец \ Локальные настройки \ Временные файлы Интернета
- вместо«* iehta» в качестве браузера я установил его в частный режим Internet Explorer «* custom C: \ Program Files \ Internet Explorer \ iexplore.exe -private» (- это не сработало из-за выключенного синтаксиса?

Спасибо.

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']",'test+abc010@workflowy.com'  )
    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()

1 Ответ

1 голос
/ 08 марта 2012

Вы можете использовать sel.delete_all_visible_cookies(), который удалит любой файл cookie, созданный текущим доменом. Если у вас несколько доменов, вы можете использовать следующее:

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

Подробнее см. в этом блоге .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...