내 웹 응용 프로그램이 반응이 좋습니다. 나는. 다른 화면 크기에 맞게 크기가 조정됩니다. 우리의 개발자는이를 위해 코드를 작성했기 때문에 xpath에 의해 발견 된 대부분의 웹 요소에는 실제로 2 개가 있습니다. 전체 화면과 모바일 중 하나 또는 작은 화면 용 중 하나입니다.Selenium 반응 형 웹 사이트에서 정확한 웹 요소를 찾을 수 있습니까?
예를 들어 Firepath를 사용하여 링크 텍스트만으로 Xpath를 검색하면 "2 개의 요소가 있음"이라고 표시됩니다. 하나만 볼 수 있으며 브라우저 창 크기를 조정하면 그 중 하나가 사라지고 다른 하나는 사라집니다. 볼 수 있습니다.
내 질문은 : 두 셀 크기 모두 하나의 셀렌 스크립트를 사용할 수 있습니까? 표시되거나 클릭 할 수있는 요소를 자동으로 사용합니다. 두 요소 중 하나만 스크립트하면 "요소를 클릭 할 수 없음"예외가 발생합니다.
if (DesktopWebElement.isVisible)
do the test for desktop
else if (MobileWebElement.isVisible)
do the test for mobile
모든 모바일 요소를 추가하기 위해 추가 작업이 꽤 많은 것 같다 :
또는 별도 페이지 개체에 모바일의 모든 요소를 추가하고, 내 방법에게 같은 것을 만드는 데 최적의 솔루션을이야 페이지 개체의 모든 메서드를 별도로 스크립트로 작성하십시오. 시간을 절약하기 위해 두 요소를 모두 찾은 Xpath를 사용할 수있는 방법이 있는지 궁금해서 Selenium이 첫 번째 요소를 찾았습니다.
사용중인 클라이언트를 기반으로 페이지 객체에'maps' (기본적으로 선택기를 포함하는 클래스)를 동적으로로드하는 전략을 보았습니다. 이 같은 소리는 기능이 동일하지만 위치가 약간 다른 비슷한 시나리오입니다. 그것은 까다 롭지 만 본질적으로'PageFactory'는 새로운'PageObjects'를 만드는 데 사용되었고, 페이지 팩토리는 어떤 속성에 기반하여 어떤 맵을 사용할지를 알아 냈습니다. 셀렉터를 모바일 또는 데스크톱과 관련되게 만들 수 있다면 비슷한 것을 할 수 있습니다. 그러나 단순하지 않았습니다. – mrfreester