2013-03-25 5 views
3

Webdriver Wire Protocol에 모든 도메인의 모든 쿠키를 삭제하는 방법이 없습니다. It can only delete cookies from current domain.모든 도메인에서 모든 쿠키를 삭제하려면 어떻게해야합니까?

AUT가 쿠키를 설정하는 타사 사이트와 통합되어 있으므로 유지 관리가 쉽도록 각 테스트를 시작할 때 깨끗한 상태를 유지하고자하므로 모든 도메인에서 모든 쿠키를 삭제하고 싶습니다.

그래서 모든 쿠키를 삭제하는 드라이버 관련 방법에 대해 생각하기 시작했습니다. 나는 특히 Firefox에 관심이 많다.

파이어 폭스에서

이 중 하나를 수행 할 수 있습니다

  • 는 + 삭제 Ctrl 키 + Shift 키를 누른 후 하나에 그것을 할 수 있습니다 파이어 폭스 확장 기능을 작성
  • 를 입력 단계

내가 무엇인가 놓친가요? 모든 도메인에서 모든 쿠키를 삭제할 수있는 교차 드라이버 옵션이 있습니까?

+0

비슷한 질문 : [Selenium2 : 현재 도메인과 관련이없는 쿠키도 모두 삭제] (0120-385-003) –

+0

현재 삭제할 다른 도메인을 방문하여 문제를 해결합니다. 이전에 설정 한 쿠키 –

답변

-4

이렇게하는 방법에는 여러 가지가 있습니다. 이것이 내가 프레임 워크에서 일반적으로 작업을 구현하는 방법입니다.

ENSURING_CLEAN_SESSION 기능 설정 (이 경우 ChromerDriver에서) 새 드라이버 객체를 생성 :

@BeforeMethod(alwaysRun = true) 
public void setup() { 

    driver.manage().deleteAllCookies(); 
    // Do other stuff before each test executes 

} 

당신은 할 수 있습니다 TestNG를의 프레임 워크를 사용하여 내 각 시험의 시작 부분에 다음

public WebDriver driver() { 

    File driverServer = new File(WebDriverConfig.class.getClassLoader().getResource("webDrivers/chromedriver.exe").getFile()); 
    System.setProperty("webdriver.chrome.driver", driverServer.getAbsolutePath()); 
    DesiredCapabilities caps = DesiredCapabilities.chrome(); 
    caps.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
    return new ChromeDriver(); 

} 

을 또한 특정 쿠키 만 삭제하고 원하는 쿠키를 찾아서 제거합니다.

driver.manage().getCookies();

나는이 문제에 대한 해결책을 찾는 데 도움이되기를 바랍니다.

+2

'driver.manage(). deleteAllCookies();'는 현재 도메인 (현재 페이지에서 볼 수 있음)에서만 쿠키를 삭제합니다. 'getCookies'는 현재 도메인의 쿠키만을 반환합니다. 그래서 질문을하고 "모든 도메인에서"3 번 반복 한 것입니다. –

관련 문제