2017-11-27 22 views
0

저는 Watir을 사용하여 JIRA 복원 프로세스를 자동화하고 있습니다. 첫 번째 단계는 FF 창을 시작하고 다음을 통해 달성했습니다.Watir로 ruby를 사용하여 Jira에 로그인 할 수 없습니다

require "Watir" 
test_site="http://jira:8080" 
browser=Watir::Browser.new :firefox 
browser.goto test_site 

다음으로 Jira에 로그인합니다. 나는 그것이 위의 이미지에서

Jiralogin

을 완수 할 수없는 어딘지 그리고, 이것이, 락스 로그인 양식의 HTML 코드가 공유됩니다. xpath, css 및 사용자 정의 속성을 통해 "입력"속성에 텍스트를 입력하려고했습니다. 그러나, 나는이 오류가 무엇입니까마다 비슷한으로 :

Watir::Exception::UnknownObjectException: timed out after 30 seconds, waiting for #<Watir::HTMLElement: located: false; {:xpath=>"//input[@id='#login-form-username.text.medium-field']"}> to be located. Maybe look in an iframe? 
+0

텍스트 필드 요소를 찾고 설정하는 데 사용하는 코드는 무엇입니까? 오류 메시지에 "//input[@id='#login-form-username.text.medium-field ']"라는 매우 이상한 XPath가 있습니다. 그것은 CSS 로케이터와 XPath 사이의 매쉬처럼 보인다. –

+0

안녕 저스틴, jira 로그인 페이지가 시작되면 기본적으로 컨트롤이 사용자 이름에 대한 텍스트 필드로 이동합니다. 따라서 특정 코드를 사용하여 텍스트 필드를 찾고/설정하지 마십시오. – Nishant

+0

제안 된 오류처럼 요소가 IFrame 내부에 있는지 확인 했습니까? – titusfortner

답변

0

현재 XPath와 CSS 로케이터를 혼합하고 당신도 올바른 CSS 경로를 작성하지 않습니다. 완벽한 믹스는 XPath에 의해 이동하려면이

b.text_field(id: 'login-form-username').set 'content' 

을 시도하거나

, 무슨 일이 일어나고 다음 CSS를 다음

b.text_field(css: "#login-form-username").set 'content' 

로 이동하려는 경우의

b.text_field(xpath: "//input[@id='login-form-username']").set 'content' 

id가있을 때 xpath와 css는 필요하지 않음을 기억하십시오. 부모 노드 또는 인접 노드로부터 요소를 찾을 필요가있을 때 xpath를 사용할 수 있지만 WATIR에서는 완전히 필요하지 않습니다. WATIR은 올바른 요소를 찾기 위해 간단한 후속 함수 호출을 제공합니다.

+0

답장을 보내 주셔서 감사합니다. 이미 제안 된 답변을 시도했지만, 다시 시도했습니다. b_text_field (id : 'login-form-username'). 'content'를 설정하면 아래 오류가 발생합니다 :'rescue in element_call ': 30 초 후에 시간 초과되었습니다. # "login-form-username", : tag_name => "input"}>이 있어야합니다. 어쩌면 iframe을 볼 것인가? (Watir :: 예외 :: UnknownObjectException) – Nishant