여기 내 테스트 시나리오에 평행. 한 번에 한 개의 브라우저에서 내 테스트가 실패하는 브라우저가 두 개 (각 스크립트에 21 개의 테스트 메소드가있는 스크립트) 인 Chrome과 Firefox 을 사용하여 스크립트를 실행할 때입니다. 동일한 스크립트를 다시 실행하면 통과하지만 다른 테스트 방법에서는 오류가 발생합니다. 때로는 Chrome이 완벽하게 작동하지만 으로 인해 Firefox에 오류가 발생했습니다. "요소가 표시되지 않습니다. 오류", 화면에 요소가 표시되거나 그 반대로 표시 될 수 있습니다. 어느 시점에서 두 브라우저 모두 정상적으로 작동하고 내 테스트가 통과합니다. 또한 스크립트를 개별적으로 실행할 때 완벽하게 실행됩니다. 나는 이것이 일어나는 이유를 전혀 모른다. 설정이나 스크립트에 뭔가 부족한가요?실행 스크립트는 크롬과 파이어 폭스
답변
NUnit의 병렬 실행 기능에 대한 철학은 테스트를 병렬로 실행하고 성공 또는 실패를보고하지만 병렬로 실행하는 것이 가능하도록 특별한 것은 없습니다. 그것은 당신에게 달려 있습니다.
설명에 따르면 실패한 테스트는 두 인스턴스를 동시에 실행할 수있는 방법으로 작성되지 않은 것으로 보입니다. 어떤 코드를 보지 않고는 특별한 조언을 할 수는 없지만 공통 객체 상태를 사용하는 조명기 멤버를 찾아야합니다. 샘플 코드를 추가하면 더 많이 알려줄 수 있습니다. 의
답장을 보내 주셔서 감사합니다. 여기에 내 코드의 발췌 문장이있다 : [TestFixture] [Parallelizable] public class test {[Test, Order (1)] public void startup() ..... [Test, Order (21)] public void cleanup()} – Pooja
또한 모든 메서드에서 try {} catch {}를 사용하여 테스트 메서드가 실패 할 경우 스냅 샷을 캡처합니다. – Pooja
메소드 헤더가 아닌 실제 코드가 더 필요합니다. 독점 정보를 정리하고 게시 할 수있는 경우 질문을 그런 식으로 형식을 잘 지정할 수 있으므로 주석을 추가하는 것이 아니라 편집해야합니다. 또는 일부 코드에 링크하십시오. – Charlie
가능한 복제 [ElementNotVisibleException : 셀레늄 파이썬 (https://stackoverflow.com/questions/47108512/elementnotvisibleexception-selenium-python/47109287#47109287) – DebanjanB
어떤 프로그래밍 언어는 셀레늄 Webdriver와 함께 사용하고 있습니까? – Reezo
WebDriver가 요소가 채워지기를 기다리는 동안 무시하도록 예외를 호출해야합니다. –