2011-08-03 6 views

답변

2

텍스트 주장은 WebDriver의 일부가 아닌,하지만 당신은 할 수 있습니다 :

assert driver.find_element(:tag_name, "body").text.include?(str) 
+0

정의되지 않은 메소드 main에 대해 'assert': Object (NoMethodError) – Jack

+0

이것은 Assert 메소드가 포함 된 TestUnit 또는 MiniTest와 같은 표준 테스트 프레임 워크를 사용한다고 가정합니다. 이것은 Ruby의 실제 테스트에 필요한 요구 사항입니다. – bbbco

0

내가 뭔가 정말 포괄적 인 주장 "도서관"입니다 RSpec에-기대

https://github.com/rspec/rspec-expectations

추천 .

은 셀레늄 webdriver는 붙박이 주장 라이브러리와 함께 제공되지 않습니다 (actual_text) .TO EQ (expected_text)

1

, 당신이 필요로 기대하는 : 정규 다음은 사용할 수 있습니다이 경우


당신에게 단언 할 필요가있는 것을 추가로 가지고 있어야합니다.

이제 ruby ​​언어로 전환하면 rspec을 사용하는 것이 가장 좋습니다.

당신은 어떻게 것을 사용합니까 :
1) Gemfile에 넣어의 RSpec에 설치하고 번들 설치 할
2)
3) RSpec에-기대
expect(actual-text).to include(expected-text)

를 사용하여 프레임 워크 'RSpec에'를 필요 여기

은 또한 당신이 유틸리티에서이 방법 def assert_text_present을 정의 할 수 있습니다 전체 하나의 스크립트 예제

require 'selenium-webdriver' 
require 'rspec' 
include RSpec::Matchers 

def assert_text_present(expected_text) 
    expect(driver.find_element(:tag_name=>'body').text.include(expected_text)).to be true 
end 

driver = Selenium::WebDriver.for :chrome 
driver.get("https://rubygems.org/gems/testnow") 
assert_text_present("Kaushal") 

입니다 또는 프레임 워크의 도우미 파일을 만들고 필요한 경우 반복해서 사용하십시오.

참고 :이 프레임 워크에서이 방법을 두는 경우에, 당신은 직접 (expect(driver.find_element(:tag_name=>'body').text).to include(expected_text))

가 도움이 희망이 정규 표현을 포함 할 수 있습니다!

관련 문제