1

Selenium2Library로 My Robot Framework 테스트가 때때로 브라우저 페이지가 서버 응답을 완전히로드하기를 기다리면서 멈추는 경우가 있습니다. 대부분의 경우 브라우저가 콘텐츠의 99 %를로드했으며 제대로 작동 할 수 있습니다. 그러나 브라우저로드가 완전히 멈출 때까지 자동화가 진행되지 않습니다.로봇 프레임 워크 Selenium2Library - 서버 응답에 브라우저 페이지 잠김 중지하는 방법

자동화 테스트가 실행되어이 브라우저 정지 문제가 발생하는 것을보고 브라우저 "중지"버튼을 수동으로 누르면 브라우저가로드를 중지하고 자동화 테스트가 정상적으로 다시 시작됩니다. 브라우저가 멈추지 만 브라우저가 예상대로로드 될 때 테스트 속도가 느려지지 않는 상황에서이 브라우저 중지를 자동화하고 싶습니다.

Python에서 set_page_load_timeout()이라는 Selenium Webdriver 명령이 있는데, Robot Framework에서이 코드를 사용하는 방법을 찾으면 찾을 수있는 것처럼 보입니다.

나는, 브라우저로드를 중지 강제과 같이 자바 스크립트를 실행보고 된 또 다른 옵션 : 위와 같은 명령을 사용하지만

***Keywords*** 
Stop browser load 
    Execute Javascript return window.stop(); 

는, 문제는 그것을 구현하는 방법에 관해서는오고 브라우저로드가 너무 오래 걸릴 때를 인식합니다. 새 페이지가로드되거나 링크가 클릭 될 때마다 불필요한 시간 제한을 설정하지 않으려 고합니다. 그러면 테스트의 전반적인 실행 속도가 느려질 수 있습니다.

Robot Framework의 Selenium2Library에는 브라우저가 아직로드 상태에있을 때 테스트에서 인식 할 수 있도록 서버 응답의 실제 페이지로드 시간을 설정할 수있는 기능이 이미 내장되어 있습니까? 나는 Selenium2Library documentation을 검토 중이며 이에 직접 관련된 것을 발견하지 못했습니다.

도움을 주시면 감사하겠습니다. 감사합니다.

답변

0

Robotframework Timeout을 사용할 수 있습니다. 설정 또는 키워드에 시간 초과를 설정할 수 있습니다. 키워드에

:

*** Keywords *** 
Timed Keyword 
    [Documentation] Set only the timeout value and not the custom message. 
    [Timeout] 1 minute 42 seconds 
    Do Something 
    Do Something Else 


설정에서 :

*** Settings *** 
Test Timeout 5 seconds 
+0

이 도움이 부분적으로 내가 무엇을 찾고 있어요,하지만 불행히도 보인다 이 경우 ti가 실패하면 테스트 케이스가 실패합니다. 메르가 만기가되는 동안, 나는 타이머를 다른 것을 시도하는 것과 같은 것으로 랩 할 수 있기를 원한다. 그렇기 때문에 윈도우 스톱 명령을 실행하고 테스트 케이스를 계속 실행시킬 수있다. – chmcc

+0

필자는 Builtin 라이브러리 키워드 "Timeout If Timeout가 발생하면 키워드 실행"을 사용하여 보았습니다. 문서가 파손 된 경우에만 작동하지만 불행히도이 시나리오에서는이 키워드가 작동하지 않습니다. 나는 계속 지켜봐야 할 것이다. – chmcc

+0

예, 테스트가 끝나지 않을 때까지 테스트가 실패하게됩니다 ... 그리고 실패한 테스트를 다시 실행하기 위해 "re-runfailed"명령을 사용할 수 있습니다. 여기에 예제 : http://laurent.bristiel.com/re-executing-failed-test-cases-and-merging-outputs-with-robot-framework/ 희망이 도움이 :) –