요소가 존재하지 않는지 프로젝터 확인
각도 기반 웹사이트에 드롭다운을 켜고 끄는 설정이 있습니다.꺼진 경우 메인 페이지에 표시되지 않습니다.
프로젝터에서는 스위치가 꺼졌을 때 이 요소가 없는지 확인해야 합니다.단, Element Not Found Error는 여러 테스트 중 하나의 테스트이므로 Element Not Found Error에 빠지면 안 됩니다.어떻게 해야 되지?
나는 다음과 같이 시도했다.
expect($$('.switch').count()).to.equal(0).and.notify(next);
하지만 AssertionError가 표시됩니다.
조금 더 효과적이었던 또 다른 옵션은 http://angular.github.io/protractor/#/api?view=ParrayFinder.protype.all을 사용하는 '프로트랙터'를 사용하는 것입니다.
element.all(by.css('.k-loading-image')).then(function(items) {
expect(items.length).toBe(0);
});
(로딩 인디케이터가 없어졌는지 확인하고 싶었습니다)
문서에서 찾은 것을 사용하여 작업을 수행했습니다.
expect(element(by.css('.switch')).isPresent()).to.become(false).and.notify(next);
또한 주장을 사용하므로 오이즈가 깨지지 않습니다.
이렇게 해서 작동했습니다.
expect(element(by.css('css')).isPresent()).toBeFalsy();
이하를 포함한 회답은 없습니다.count()
나를 위해 일했다;
$$(.disclos') 유형입니다.count()는
'object'
그 약속을 이용해서 그 약속을 끌어당겨야 한다.count
이렇게 가치를 매길 수 있어요.
const nameSelector = '[data-automation="name-input"]';
const nameInputIsDisplayed = () => {
return $$(nameSelector).count()
.then(count => count !== 0)
}
it('should not be displayed', () => {
nameInputIsDisplayed().then(isDisplayed => {
expect(isDisplayed).toBeFalsy()
})
})
이러한 응답은 요소가 사라질 때까지 기다리지 않습니다.이 기능이 사라질 때까지 기다리려면 다음과 같이 Expected Conditions를 사용해야 합니다.Invisibility Of는 요소가 DOM을 빠져나갔는지 여부를 검출합니다.https://www.protractortest.org/#/api?view=Protractor Expected Conditions 문서를 참조하십시오.
export const invisibilityOf = (el) =>
browser.wait(ExpectedConditions.invisibilityOf(el) as any, 12000,
'Element taking too long to disappear in the DOM')
const el = element(by.css(arg1))
return invisibilityOf(el)
stalenessOf
좋은 방법일 수 있습니다:Rectractor - Expected Conditions.staleness Of
예를 들어 현재 열려 있는 모달입니다.닫으면 존재하지 않을 것으로 예상합니다.
element(by.css('.modal-dialog .cancel-button')).click();
browser.wait(EC.stalenessOf(element(by.css('.modal-dialog')), 60000);
expect(element(by.css('.modal-dialog')).isPresent()).toBeFalsy();
스위치가 Configuration에 정의되어 있는 경우는, 다음과 같이 할 수 있습니다.
let dropdownSwitch = config.switch
expect(await $('dropdown css').isPresent()).toBe(dropdownSwitch);
온/오프 시 양쪽 시나리오에서 검증이 이루어집니다.
언급URL : https://stackoverflow.com/questions/25314019/protractor-check-if-element-does-not-exist
'sourcecode' 카테고리의 다른 글
구텐베르크 커스텀 배너 블록 페이지 제목 사용 (0) | 2023.02.28 |
---|---|
리액트 라우터돔을 사용할 때 '기능 구성 요소를 참조할 수 없음'을 방지하려면 어떻게 해야 합니까? (0) | 2023.02.28 |
Spring Rest템플릿 예외 처리 (0) | 2023.02.23 |
사용자 정의 필터 기능이 있는 AngularJS 다중 필터 (0) | 2023.02.23 |
ORA-04082: 테이블 레벨 트리거에서 새 참조 또는 오래된 참조가 허용되지 않음 (0) | 2023.02.23 |