在使用Java运行一些Selenium WebDriver测试之前清除缓存

2022-09-02 12:23:06

我正在研究Java编程语言的Selenium WebDriver自动化。在我的测试套件中,启动浏览器窗口一次并执行所有测试。我想在运行一些测试之前清除浏览器缓存,而无需重新启动浏览器。是否有任何命令/功能可以达到目的?谢谢。


答案 1

这是我在Python中使用的:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('chrome://settings/clearBrowserData')
driver.find_element_by_xpath('//settings-ui').send_keys(Keys.ENTER)

您可以尝试将它们转换为Java。希望这会有所帮助!:)


答案 2

至少在Chrome中,我坚信,如果您隐身,您将不必清理cookie。您可以设置如下选项(:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def _options():
    options = Options()
    options.add_argument('--ignore-certificate-errors')
    #options.add_argument("--test-type")
    options.add_argument("--headless")
    options.add_argument("--incognito")
    options.add_argument('--disable-gpu') if os.name == 'nt' else None # Windows workaround
    options.add_argument("--verbose")
    return options

并像这样调用:

with webdriver.Chrome(options=options) as driver:
    driver.implicitly_wait(conf["implicitly_wait"])
    driver.get(conf["url"])

推荐