2011-09-14 31 views
5

Có phương thức .delete_all_visible_cookies trong Selenium. Tôi đã ngạc nhiên khi phát hiện ra rằng .delete_all_cookies trong Webdriver là một phần của API riêng tư do đó không thể truy cập thông qua cá thể @driver.Xóa cookie trong Webdriver

Đây là vấn đề đối với IE vì nó không khởi động trình duyệt sạch trên một thử nghiệm mới chạy như FF.

Trả lời

5

Từ những gì tôi biết bạn phải lựa chọn:

  • Khi tạo IE khả năng dụ sử dụng đối số:

    DesiredCapabilities mũ = DesiredCapabilities.internetExplorer(); caps.setCapability (CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); Trình điều khiển WebDriver = new InternetExplorerDriver (caps);

  • Khi khởi tạo, bạn có thể sử dụng:.

    driver.manage() deleteAllCookies()

+1

Có vẻ như một giải pháp. Tìm kiếm một Ruby tương đương với nó. – Yulia

+0

Theo đó, bạn có thể làm tương đương với các khả năng của Ruby -> http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver.html – jasalguero

+0

Tuy nhiên, tôi không thể tìm thấy dung dịch. Các khả năng có sẵn ở đây là http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html. nơi không có clean_session hoặc clear_cookies hoặc tương tự hiển thị. Tôi bị lạc ... Tôi chắc chắn rằng nhiều nhà phát triển phải đối mặt với vấn đề này. Làm thế nào để bạn giải quyết nó? – Yulia

3

Thật không may, tôi đã không thể giải quyết vấn đề này bằng phương tiện Webdriver . Cuối cùng, những gì tôi làm chỉ đơn giản là xóa các cookie từ dòng lệnh trước khi chạy thử nghiệm. Dòng là

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 
+2

một lý do khác để ghét IE ... – craastad

0

Phần mã này tạo đối tượng tùy chọn và đặt Thuộc tính phiên sạch thành true và chuyển nó cho trình điều khiển Explorer trong khi tạo trình điều khiển. Làm việc cho tôi.

InternetExplorerOptions options = new InternetExplorerOptions(); 
options.EnsureCleanSession = true; 
return new InternetExplorerDriver(Config.IEDriverPath, options); 
+0

Nói chung, bạn nên bao gồm giải thích mã của mình trong câu trả lời, thay vì trong các nhận xét. –

0

TRÊN IEDRIVER 2.53.1 Các trình duyệt IE có thể xóa cache bằng cách sử dụng

capabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true); 
Các vấn đề liên quan