2014-10-31 2 views
0

요소 중 하나가 존재하는지 확인하는 방법은 무엇입니까?몇 가지 요소 중 하나가 존재하는지 확인하는 방법은 무엇입니까?

나는 assertExists 기능이 있지만 하나의 특정 요소 만 검사한다는 것을 알고 있습니다. 세 가지 요소 중 하나가 페이지에 존재하는지 확인해야합니다 (예 : 다른 사이트에 대한 다른 클래스의 로그인 링크가 있지만 일반적으로이 사이트를 세 가지 범주로 그룹화 할 수 있음). assertExists에 삽입 할 수있는 '및/또는'조건이 있습니까?

+0

빠른 응답 주셔서 감사합니다. 그건 내가 정확히 –

답변

1

이것을 달성하기 위해 항상 CasperJS를 여러 가지 방법으로 사용하고 있습니다.

가장 다양한 방법 casper.exists 사용하는 것입니다

test.assert(casper.exists("selector1") || casper.exists("selector2")); // 1 
test.assert(casper.exists("selector1") && casper.exists("selector2")); // 2 

는 그런 다음 두 만드는 OR 작업하는 두 XPath 식에 대한 두 개의 CSS 선택기 또는 |을 연결하는 ,를 사용할 수

test.assertExists("selector1, selector2"); 
test.assertExists(x("selector1 | selector2")); 

선택기 사이에 AND 연산자가 필요하면 테스트 중이므로 둘 중 하나가 실패하므로 두 문으로 나눌 수 있습니다.

test.assertExists("selector1"); 
test.assertExists("selector2"); 

두 개의 선택기를 사용했지만, 세 개 이상의 선택기에 대해서도 같은 방식으로 작동합니다.

+0

assertExists에 대한 좋은 작품이 필요했습니다. assertResourceExists에 대한 비유가 있습니까? 나는 test.assertResourceExists ('site-logo.png, logo');를 시도했다. 두 자원이 모두 존재하는지 검사하지만, 그 중 하나가 아니라는 것을 확인합니다. –

+0

은 문자열 대신에 함수를 사용합니다 :'test.assertResourceExists (function check (res) {return res.indexOf ('site-logo.png')! = = -1 || res.indexOf ('logo')! == -1}); ' –

+0

대단히 감사합니다. Artjom –

관련 문제