시나리오 : - 필드입니다 - 우리는 AJAX 를 통해 오류를 확인 등록 양식이 : 전자 우편, confEmail는 FNAME, LNAME은 PWD는 confPwd 는 - 오류 검사 할 때 발생을 사용자는 "전자 메일"필드에 입력하고 탭은 "confEmail"필드에 입력하십시오. "pwd"및 "confPwd"필드와 동일 - "전자 메일"필드에 "test"를 입력 한 다음 "confEmail"인 다음 필드로 이동하는 사용자 동작을 모방 한 자동화 스크립트를 작성하려고합니다. 이것은 AJAX 체크를 호출하고 "잘못된 이메일 주소"전달 키보드 이벤트는 WebDriver
시험 구성에 대한 오류가 발생한다 : - 테스트는 리눅스 작성이 - 맥 (물론)에 아이폰 시뮬레이터에서 실행
코드의이 작품은 입력 이메일 주소 : driver.findElement (By.cssSelector (Locator.getLocator ("mobilebuy-> emailAddressField"))). sendKeys ("test");
sendKeys는 해당 필드에서 포커스를 이동하지 않으므로 AJAX가 실행되도록 TAB/클릭하여 다음 필드로 보냅니다. 분명히, 그렇게하는 것은 효과가 없습니다. AJAX는 절대 실행되지 않으며 오류 메시지가 나타나지 않습니다. 아이폰 시뮬레이터에서 수동으로 시뮬레이트 할 때 볼 수있다.
다음 필드로 이동해야합니다. driver.findElement (By.cssSelector (Locator.getLocator ("mobilebuy-> emailAddressField"))). sendKeys (Keys.TAB); .
또는
이 AJAX를 해고해야 다음 필드를 클릭합니다
: driver.findElement (By.cssSelector (Locators.getLocator ("mobilebuy-> confEmailAddressField")))을 클릭합니다();이 문제를 어떻게 처리 할 수 있습니까? 내가 자세히 보았지만, "탭"키는 유니 코드로 전달하려고 시도했지만 키가 작동하지는 않습니다. 나는 (심지어 몸 자체에 수) 텍스트 필드에 있지만, 일부 부모 요소에 반드시 SendKeys 매크로를 사용하려고 할 정말 절망적 인 경우에