2009-08-13 3 views
4

셀레늄을 사용하여 요소에 jQuery data()가 설정되어 있는지 테스트 할 수 있습니까?셀레늄을 사용하여 jQuery 요소 데이터()를 테스트 하시겠습니까?

내 앱에서 사용자는 여러 주문에 대한 정보를 입력합니다. 각 주문은 개요 테이블에 추가되어 진행 상황을 볼 수 있습니다. 가시 주문 정보 이외에, 우리는 다음과 같이, 우리가 jquery.data (저장 배열을 사용하여 각 주문에 대해 필요한 몇 가지 추가 정보)를 저장 :

$('#table').data('orders').push(neworderdata) 

나는에 셀레늄 테스트를 작성하고 싶습니다 사용자가 'Add order'를 누르면 추가 데이터가 $ ('# table'). data ('orders')에 추가된다고 주장한다.

는 내가 같은 필요가 있다고 생각 :

Command: assertEval 
Target: $('#table').data('order')[1].cust_no 
Value: 99999 

을하지만 난 데 문제가 셀레늄 IDE는 jQuery를 네임 스페이스 및 기능에 대해 알고하지 않는다는 것입니다 생각, 그래서 방법을 알고하지 않습니다 테이블을 찾으러. 그러나 getElementbyID ('table')를 사용해도 데이터()에 대해 셀렌이 어떻게 알 수 있습니까?

+0

물론이 방법을 사용하는 또 다른 방법은 셀렌이 쉽게 찾을 수있는 테이블의 각 행에 숨겨진 필드에 추가 정보를 추가하는 것입니다. 그러나 그것은 우리가 가진 것이 아닙니다. 젠장, 상속 된 코드 =) – fitzgeraldsteele

답변

1

Selenium IDE에 $에 문제가 있습니까? Selenium IDE에서 액세스 할 수있었습니다. 아마도 뭔가 다른 jQuery 표현이 깨져 있습니까? IDE가 $만을 평가할 수 있는지 먼저 "assertEval $ 0"등을 시도해 볼 수 있습니까?

window.$(...) 

하지

$(...) 

로 아마 그게 문제 (의 일부)입니다 :

+0

맞아 ... 나는 assertEval $ 할 수 있었고 jQuery 객체의 텍스트를 돌려 주었기 때문에 분명 jQuery를 볼 수 있었다 ... 하지만 그건 나를 만든다. 어떤 일이 일어나고 있는지에 대해 궁금한 점이 있습니다. 셀레늄이 그 표현을 평가할 수없는 이유는 무엇입니까? – fitzgeraldsteele

1

나는 당신이로 액세스하는 경우 셀레늄은 JQuery와 기능을 볼 것을 발견?

관련 문제