2012-08-13 2 views
2

웹 인터페이스에 WebSharper를 사용할 계획입니다. 문제는 우리의 통합 테스트가 셀레늄을 기반으로하고 데이터를 클릭하고 채우는 데 페이지 요소의 ID를 사용한다는 것입니다.
이러한 이유로 페이지의 모든 관련 요소에 대해 ID를 지정할 수 있어야합니다. < [텍스트 "홈"] - - < [ID "집"]websharper 요소 ids

우리가 어떻게 할 수있는 [HREF (ctx.Link 홈)] 을 : 우리는이 작업을 수행 할 수 있습니다 비 폼 요소에 대한

formlet 내부의 입력 필드에 대해?

감사

UPDATE : 결국 우리가 formlets websharper 사용하지 않기로 결정했다. 이유 중 하나는 양식 요소에 ID를 할당 할 수 없기 때문에 우리의 테스트 방법이 더 이상 작동하지 않는다는 것입니다. 다른 이유는 디자인에 잘 맞지 않는 테이블 기반 레이아웃 때문입니다. websharper를 사용하지만 formlets 라이브러리는 사용하지 않습니다.

+0

(I 야생 웹되지 내부 애플리케이션 :-)를 긁어 있지만) 내가 입력 필드가 자신의 임의 얻을 확신 동일한 ID의 많음이 있었다 페이지를 보았다 JS 기반의 Formlets 라이브러리의 id. WebSharper의 JQuery API를 사용하여이를 선택해야합니다 (ID가 아닌 Formlet의 요소를 제공). –

+0

표 기반 formlets 진짜 고통 지점입니다. 나는 12 달 전에 intellifactory로 이것에 대한 버그를 제기했다. 아마도 그들이 어떤 부드러운 괴롭히는 :)를 필요로 우리의 테스트는 Python으로 작성하고 다음과 같이된다 https://bitbucket.org/IntelliFactory/websharper/issue/9/table-free-formlets – Oenotria

답변

1

셀렌 테스트에 id를 명시 적으로 사용해야하는 이유는 무엇입니까? 나는 이것을 알고 있지만 링크를 넣어 줄 확신합니다. http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/By.html. 내 XP의 XPath는에서

는 아이디의보다 안정적이고

+0

: ... 세션. (일부 사용자 표시 이름) session.Name.text = "someuser" 셀레늄 위에 얇은 층을 가짐으로써 xpath를 사용하도록 변경하면 많은 작업이 필요하며 깨끗하게 보일 수 없습니다. 기존 UI가이 테스트 방법을 지원하기 위해 작성되었으므로 한 페이지의 ID가 동일하지 않습니다. – vidi