Java에서 WebElement를 찾지 못한 시도에 사용 된 로케이터를 가져 오는 방법이 있습니까? WhatWebElement 프록시에서 로케이터 가져 오기
내가하려고하는 것은 NoSuchElementException
을 잡는 시점에서, Locator를보고 요소를 다시 찾기 전에 (id에서 xpath로 변경) 위치를 변경합니다. 나는 페이지 팩토리 패턴과 @FindBy(id=xxx)
을 사용하고 있습니다. WebElement가 발견되기 전에 프록시 객체가 있다는 것을 알고 있습니다. 요소가 발견되지 않은 후 중단 점에서 Eclipse의 디버그보기에서 By Locator 정보를 볼 수 있지만 코드에서 추출 할 수 없습니다.
당신이 로케이터로 변경하여 무엇을 의미합니까, 그건 정말 어리석은 방법입니다. 그것은 작동하지 않습니다. 작동하지 않는 것보다는 실제 문제 인 달성하려는 것을 설명 할 수 있습니다. –
나는 그가 NoSuchElementException을 얻을 때 엘리먼트를 찾는 것을 다시 시도하려고한다고 생각한다. 엘리먼트가 잠시 후에 거기에 없다면, 암시 적/추측 대기에 대해 읽어라. –
이 이유는 모든 요소를 찾기 위해 ids와 xpath를 사용하는 기존의 셀렌 웹 자동화가 있다는 것입니다. Ionic Framework를 사용하여 클라이언트를 만들었으므로 모바일 클라이언트에이 코드 (테스트, 페이지 및 유틸리티)를 재사용하고 있습니다 (Appium 사용). 기본적으로 모바일 클라이언트에 랩된 웹 클라이언트입니다. 그러나 요소를 찾기 위해 xpath 만 사용해야한다는 것을 의미하는 우리의 Ionic 프레임 워크와 웹 뷰에는 특정 문제가 있습니다. 따라서 기존의 모든 페이지 클래스를 변경하지 않고도 waitForElement/doesElementExist 메서드에서 ID를 사용하고 xpath로 변경하려고합니다. – MikeG