0

window.localStorage.removeItem("name of localStorage variable you want to remove");을 사용하여 두 개의 다른 localStorage Keys를 삭제하면 성공적으로 삭제됩니다.각도기 - 사양에서 손실 된 LocalStorage를 지우려면

다음 단계는 내 응용 프로그램의 다른 페이지를 입력하여 세션 손실로 인해 다시 로그인하라는 대화 상자를 표시하는 것입니다. 그러나 분지기로이 작업을 수행하면 localStorage 키가 올바르게 지워지더라도 작동하지 않습니다. 수동으로 (마우스 오른쪽 버튼을 클릭하고 삭제를 삭제하면) 작동하고 대화 상자가 나타납니다.

무엇이 문제 일 수 있습니까?

+0

어떻게 지우 세션 및 로컬 스토리지를 수동으로 귀하의 사이트에 로그 아웃을 부를 것이다? 그게 플러그인이야? 아니면 그냥 devtools? – Xotabu4

+0

devtools에서 삭제 (응용 프로그램 -> LocalStorage -> 두 개의 키 삭제), 수동으로 작동하고 다른 상태에서 변경 한 후 다시 로그인하라는 대화 상자가 나타나지만 테스트가 실행 중일 때 실행되지 않습니다. , 다시 로그인하지 않고 키가 다시 나타납니다. –

답변

0

키 2 개만 지우는 대신 로컬 및 세션 저장소를 완전히 지우는 것이 좋습니다.

browser.manage().deleteAllCookies(); 
browser.executeScript('window.sessionStorage.clear(); window.localStorage.clear();') 
+0

작동하지 않음 : S 수동으로 작동하면 각도기가 작동하지만 작동하지 않는 이유를 찾을 수 없습니다 : S –

0

사이트가 다른 도메인 또는 httponly 쿠키에 대해 쿠키를 저장 한 것으로 보입니다.

Webdriver는 현재 거주중인 동일한 도메인의 쿠키 만 삭제할 수 있습니다. 따라서 API가 일부 authtoken을 제공하면 다른 도메인 용으로 저장되므로 삭제되지 않습니다. HTTPonly 쿠키와 동일합니다.

HttpOnly cookie 
An HttpOnly cookie cannot be accessed by client-side APIs, such as JavaScript. This restriction eliminates the threat of cookie theft via cross-site scripting (XSS). However, the cookie remains vulnerable to cross-site tracing (XST) and cross-site request forgery (XSRF) attacks. A cookie is given this characteristic by adding the HttpOnly flag to the cookie. 

난 당신이 API URL로 이동하는 것이 좋습니다, 거기 browser.manage().deleteAllCookies(); 메소드를 호출하거나 수동으로