Selenium 中的页面对象 Ruby
Page Objects in Selenium with Ruby
我熟悉使用 Ruby 的 Watir-Webdriver 中的页面对象,但现在我正尝试使用 Ruby 在 Selenium-Webdriver 中定义页面对象并面临以下问题。有哪位大侠帮忙吗
require "selenium-webdriver"
require "page-object"
Firstname = {id: "firstname"}
@driver = Selenium::WebDriver.for :firefox
@driver.get ("http://www.practiceselenium.com/practice-form.html")
@driver.manage().window.maximize()
@driver.find_element(Firstname).send_keys "User1"
无法定位元素:{"method":"id","selector":"firstname"} (Selenium::WebDriver::Error::NoSuchElementError)
您指定的页面上没有 id: "firstname"
属性。请尝试 name: "firstname"
:
require "selenium-webdriver"
require "page-object"
Firstname = {name: "firstname"}
@driver = Selenium::WebDriver.for :firefox
@driver.get ("http://www.practiceselenium.com/practice-form.html")
@driver.manage().window.maximize()
@driver.find_element(Firstname).send_keys "User1"
或者更面向对象的方式:
require "selenium-webdriver"
require "page-object"
class PraticeForm
include PageObject
page_url "http://www.practiceselenium.com/practice-form.html"
text_field(:firstname, :name => 'firstname')
end
browser = Selenium::WebDriver.for :firefox
my_page_object = PraticeForm.new(browser)
my_page_object.goto
my_page_object.firstname = "User1"
我熟悉使用 Ruby 的 Watir-Webdriver 中的页面对象,但现在我正尝试使用 Ruby 在 Selenium-Webdriver 中定义页面对象并面临以下问题。有哪位大侠帮忙吗
require "selenium-webdriver"
require "page-object"
Firstname = {id: "firstname"}
@driver = Selenium::WebDriver.for :firefox
@driver.get ("http://www.practiceselenium.com/practice-form.html")
@driver.manage().window.maximize()
@driver.find_element(Firstname).send_keys "User1"
无法定位元素:{"method":"id","selector":"firstname"} (Selenium::WebDriver::Error::NoSuchElementError)
您指定的页面上没有 id: "firstname"
属性。请尝试 name: "firstname"
:
require "selenium-webdriver"
require "page-object"
Firstname = {name: "firstname"}
@driver = Selenium::WebDriver.for :firefox
@driver.get ("http://www.practiceselenium.com/practice-form.html")
@driver.manage().window.maximize()
@driver.find_element(Firstname).send_keys "User1"
或者更面向对象的方式:
require "selenium-webdriver"
require "page-object"
class PraticeForm
include PageObject
page_url "http://www.practiceselenium.com/practice-form.html"
text_field(:firstname, :name => 'firstname')
end
browser = Selenium::WebDriver.for :firefox
my_page_object = PraticeForm.new(browser)
my_page_object.goto
my_page_object.firstname = "User1"