아래는 내 페이지 파일입니다. 내 단계 정의에서 "linka"또는 "linkb"의 가용성을 확인하려고합니다.
class PageName
include PageObject
link(:linka, :text => 'texta')
link(:linkb, :text => 'textb')
def is_Available?(element)
return element?
end
end
아래는 이것을 달성하기 위해 생각한 방법입니다. 여기서는 내 페이지에 선언 된 링크의 변수 이름을 매개 변수로 보낼 계획입니다. 예상 진정한는 콘솔에 인쇄합니다.
Then(/^I verify availability of "(.*?)"$/) do |arg1|
puts on(HomePage).is_Available? arg1
end
아래 오류에 직면
Then I verify availability of "linka" undefined method `element?' for #<HomePage:0x35b2300> (NoMethodError) ./features/support/pages/HomePage_page.rb:12:in `is_Available?' ./features/step_definitions/homepage.rb:8:in `/^I verify availability of " (.*?)"$/' features\HomePage.feature:5:in `Then I verify availability of "reviews"'
내가 어디에서 잘못되었는지 알 수 있습니까?
해결 방법 제안
감사합니다, Avinash
문제가 있다는 것이다 element
에 is_Available?
있어서의 파라미터가 동일하지 않다 element?
리턴된다. 현재 코드에서 페이지 개체는 또는 element?
대신 메서드 를 찾고 있습니다.linka?
linkb?
문자열을 메서드 호출로 변환하려면 다음을 사용할 수 있습니다 send
.
def is_Available?(element)
return send("#{element}?")
end
이 방법:
page.linka?
또는을 호출하는 것과 같습니다 page.linkb?
.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다