Selenium Internet Explorer 8缓存问题

2024-04-26 05:09:39 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在winxpinternetexplorer8上运行Selenium测试时,测试不会重新开始。它将使用以前运行的cookies/cache启动测试。在Firefox中运行测试时不会发生这种情况。 有人对此有解决办法吗?最好使用Python
我的一些想法:
-在TearDown类中运行一个脚本,该脚本将删除C:\Documents and Settings\Owner\Local Settings\temporary Internet files中的所有临时文件
-我将其设置为Internet Explorer专用模式,而不是“*iehta”作为浏览器“*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()

Tags: importself脚本idinputsettingsdefselenium
1条回答
网友
1楼 · 发布于 2024-04-26 05:09:39

您可以使用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)

有关详细信息,请参见this blog post。在

相关问题 更多 >