programing

E2E 테스트에 각도 재료와 프로젝터를 함께 사용하는 데 문제가 있습니까?

newnotes 2023. 3. 1. 11:28
반응형

E2E 테스트에 각도 재료와 프로젝터를 함께 사용하는 데 문제가 있습니까?

폴링에 $timeout을 사용했기 때문에 Protractor FAQ에서 시간 초과가 간헐적으로 발생하고 있습니다(AKA: wait For Angular timeout).폴링이 안 되는 경우에도 실패하는지 궁금합니다.저희 팀에서는 Angular Material 컴포넌트에 의존하기 때문에 더욱 명확해집니다.$timeout(func, 0)을 지속적으로 사용하여 애니메이션 상호 작용에 많은 영향을 미칩니다.이 질문은 이슈 #29966301과 유사하지만 Angular Material과 Protractor 사이에 발생할 수 있는 문제에 초점을 맞추고 있습니다.저는 Angular Material과 Protractor를 많이 사용하는 사람들이 이러한 문제를 만났을 때 어떻게 대처할지 정말 궁금합니다.

흥미로운 점은 내가 프로젝터 사이트와 Angular Material github 사이트 모두에서 서로의 능력을 이용하는 것을 본 적이 없다는 것이다.둘 다 Google의 동일한 그룹에서 제공되는 각도 라이브러리이므로 @juliemr과 Protractor Gang은 @ThomasBurleson 및 Material 그룹과 대화하여 포괄적인 사용 사례와 Protractor를 사용한 각도 재료에 대한 E2E 테스트를 제안할 수 있습니다.

Well protractor는 각도를 테스트하도록 설계되었기 때문에 wait For Angular 함수를 사용하고 있고 웹 사이트가 각진 경우 이 함수를 사용하지 마십시오. 각 테스트 전에 다음을 수행해야 합니다.

browser.ignoreSynchronization = false;

이를 통해 테스트를 고속화하고 타임아웃 문제를 해결할 수 있습니다.protractor-conf.protractor 파일에 다음 코드를 추가합니다.

...

onPrepare: function() {
    var disableNgAnimate = function () {
        angular.module('disableNgAnimate', []).run(function($animate){
            $animate.enabled(false);
        });    
    },
    browser.addMockModule('disableNgAnimate', disableNgAnimate);
},

...

비디오를 확인해 보세요

ngAnimate를 비활성화하는 것만으로는 충분하지 않을 수 있습니다.또한 각도기 'onPrepare' 옵션 내부에 CSS를 주입하여 Angular Material의 CSS 애니메이션을 비활성화해야 합니다.(각 js 적용에 대해 영사기에서 애니메이션을 비활성화하는 방법).

언급URL : https://stackoverflow.com/questions/29966816/are-there-any-issues-using-angular-material-with-protractor-for-e2e-testing

반응형