page-object 모듈 사용법
6847 단어 page-object루비selenium-webdriver
page-object
모듈 되는 것이 있는 것 같습니다.cheezy/page-object
실은 수중에 있는 (전임자가 쓴) 테스트가 이것을 사용하고 있어, 그 사용법을 제대로 이해할 수 없었기 때문에 조사해 보았습니다. (초보적인 것뿐입니다만)
gem install page-object
시토쿠 xxx_page.rb
와 xxx_spec.rb
가 되어 있습니다. page-object 모듈을 사용하지 않는 경우
testA.rb# coding: utf-8
require 'selenium-webdriver'
# Pageクラス
class TestAPage
def initialize(driver)
@driver = driver
end
def search_query(q)
# 要素の特定に find_element 使う
@driver.find_element(:name, "q").send_keys(q)
@driver.find_element(:name, "btnK").click
end
end
# Pageを操作する
driver = Selenium::WebDriver.for :firefox
driver.get("https://www.google.co.jp/")
search_page = TestAPage.new(driver)
search_page.search_query("日本武道館")
실행은
> ruby testA.rb
이런 식으로 일본 무도관을 검색해 줍니다. (그 결과, 무엇이 어떻게 되면 테스트로서 OK라고 판단해도 좋은 것인가, 라고 하는 것은 다른 이야기로서 w)
page-object 모듈을 사용하는 경우
testB.rb# coding: utf-8
require 'page-object'
# Pageクラス
class TestBPage
# includeします
include PageObject
# これで要素を操作できるようになります
text_field(:query, :name => 'q')
button(:search_btn, :name => 'btnK')
def search_query(q)
self.query = q
self.search_btn
end
end
# Pageを操作する
driver = Selenium::WebDriver.for :firefox
driver.get("https://www.google.co.jp/")
search_page = TestBPage.new(driver)
search_page.search_query("日本武道館")
실행은
> ruby testB.rb
결과는 TestA와 동일합니다.
요약
이번에는 요소가 2개입니다만, 실제의 테스트에서는 대량으로 find_element
해야 하는 것이 많습니다. 그럴 때 편리하자.
그 외에 text_field
가 어떤 일을 해 주는지는
h tp // w w. 하는 by c. Infu / Giute b / Chie Zy / Pageo bji ct / Pageo bji ct / 어서 rs # xt_fue ld-in s tanse_me d 에 있습니다.
adds four methods to the page object - one to set text in a text field, another to retrieve text from a text field, another to return the text field element, another to check the text field's existence.
text_field에 대해 「set」 「get」 「element 취득」 「존재 확인」의 4개의 메소드가 준비되어 있는 것 같습니다.
덧붙여 : 요소의 조작에 대해서는
htps : // 기주 b. 코 m / Chie Zy / Pageo bji ct / Uuki / Eemen ts
에 자세히 쓰여져 있습니다.
수수께끼
page-object
모듈을 사용할 때
require 'selenium-webdriver'
하지 않아도 움직이는 건 어떨까.
Reference
이 문제에 관하여(page-object 모듈 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sakaimo/items/eece464e5e8ba0b59f5d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# coding: utf-8
require 'selenium-webdriver'
# Pageクラス
class TestAPage
def initialize(driver)
@driver = driver
end
def search_query(q)
# 要素の特定に find_element 使う
@driver.find_element(:name, "q").send_keys(q)
@driver.find_element(:name, "btnK").click
end
end
# Pageを操作する
driver = Selenium::WebDriver.for :firefox
driver.get("https://www.google.co.jp/")
search_page = TestAPage.new(driver)
search_page.search_query("日本武道館")
> ruby testA.rb
testB.rb
# coding: utf-8
require 'page-object'
# Pageクラス
class TestBPage
# includeします
include PageObject
# これで要素を操作できるようになります
text_field(:query, :name => 'q')
button(:search_btn, :name => 'btnK')
def search_query(q)
self.query = q
self.search_btn
end
end
# Pageを操作する
driver = Selenium::WebDriver.for :firefox
driver.get("https://www.google.co.jp/")
search_page = TestBPage.new(driver)
search_page.search_query("日本武道館")
실행은
> ruby testB.rb
결과는 TestA와 동일합니다.
요약
이번에는 요소가 2개입니다만, 실제의 테스트에서는 대량으로 find_element
해야 하는 것이 많습니다. 그럴 때 편리하자.
그 외에 text_field
가 어떤 일을 해 주는지는
h tp // w w. 하는 by c. Infu / Giute b / Chie Zy / Pageo bji ct / Pageo bji ct / 어서 rs # xt_fue ld-in s tanse_me d 에 있습니다.
adds four methods to the page object - one to set text in a text field, another to retrieve text from a text field, another to return the text field element, another to check the text field's existence.
text_field에 대해 「set」 「get」 「element 취득」 「존재 확인」의 4개의 메소드가 준비되어 있는 것 같습니다.
덧붙여 : 요소의 조작에 대해서는
htps : // 기주 b. 코 m / Chie Zy / Pageo bji ct / Uuki / Eemen ts
에 자세히 쓰여져 있습니다.
수수께끼
page-object
모듈을 사용할 때
require 'selenium-webdriver'
하지 않아도 움직이는 건 어떨까.
Reference
이 문제에 관하여(page-object 모듈 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sakaimo/items/eece464e5e8ba0b59f5d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
page-object
모듈을 사용할 때require 'selenium-webdriver'
하지 않아도 움직이는 건 어떨까.
Reference
이 문제에 관하여(page-object 모듈 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sakaimo/items/eece464e5e8ba0b59f5d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)