2016-08-25 5 views
1

사이트의 일부 스무스 테스트를 위해 Robot Framework를 탐색 중이며 로그인해야 새로운 창을 열 수 있습니다. Select Window으로 새 창으로 이동하면 로그인 이름을 식별하여이 변경 사항을 브리징하고 새 창에서는 로그인 양식을로드 할 때 즉시 해당 제목을 채택하지 않습니다. 때로는 5보다 많습니다.Robot Framework가 새 창에 너무 빠릅니다.

필자는 10 초의 오랜 기간 동안 테스트를 중단함으로써이 문제를 해결하기 위해 노력하고 있습니다.하지만 확실하게 타겟 윈도우를 새 것으로 변경할 수있는 확실한 방법이 있습니다. , 페이지가로드되는 동안 내 테스트가 실패하고 종료되지 않습니다. ID로 리다이렉트 URL을 사용하는 장면을 찍었지 만 때로는 매우 빠르게 리디렉션되어 실패하거나 그렇지 않은 경우로드되지 않은 로그인 필드에 대한 다음 점검시 중단됩니다. 나는 Wait Until Element Is Visible 같은 명령을 본 적이 있지만 내가 그것을 위해서 일을로드하는 창 ...

를 타겟팅 할 수 없습니다 때 불행히도 도움이되지 않습니다

*** Test Cases *** 
Basic Workflow 
    Open Browser To Homepage 
    Go To Sign In 

*** Keywords *** 
Open Browser To Homepage 
    Open Browser ${HOMEPAGE}  ${BROWSER} 
    Maximize Browser Window 
    Set Selenium Speed  ${DELAY} 

Go To Sign In 
    Click Button Sign In 
    Sleep 10s 
    Select Window Sign In 
    Title Should Be Sign In 

현재 Selenium2Library 사용 .

+0

페이지가로드되기를 기다리는 단계가 있는지 확인하고 선택 창 뒤에 추가하십시오. 또한 이것을 확인하십시오 http://stackoverflow.com/questions/36568653/wait-until-the-page-is-loaded – lauda

+0

lauda가 제안한 방법이 최고입니다. 그러나 페이지가로드 될 때 감지 할 수 없다면 다른 방법이 있습니다. 성공할 때까지 창을 선택하려고하는 키워드를 쓸 수 있습니다. 오류는 무시하십시오. – Pekka

+0

응답 해 주셔서 감사합니다! 문제는 요소/페이지가로드되기를 기다리는 것이 아니기 때문에 열리는 새 창을 보는 방법을 알지 못하기 때문에로드되었는지 평가할 수 있습니다. 현재 창 변경에 대한 나의 제한된 지식은'Select Window'와 titles/urls에 의존하지만, 자동 리디렉션을하는 페이지이므로 의존하고있는 제목은 당장에 안정적으로 표시되지 않습니다. 내가 가지고있는 것을 필요로합니다. 잠을 잘 수 있고, 10 초 정도 걸리면 충분합니다 (보통 2는 괜찮지 만 항상 그런 것은 아닙니다). – sm0115

답변

1

lauda는 선택 창을 관리하기위한 키워드를 작성하는 데 적절하다고 생각했습니다. 나는 Wait Until Keyword Succeeds을 발견하고 그것을 기다리는 키워드를 만들었습니다.

Go To Sign In 
    Click Button Sign In 
    Wait Until Keyword Succeeds 20s 3s Switch To Sign In Page 
    Title Should Be Sign In 

Switch to Sign In Page 
    Select Window  Sign In 

감사합니다!