我正在學習使用紅寶石和頁面對象模型的selenium web驅動程序。我的測試代碼如下:Ruby Selenium/Page對象模型 - 啓動瀏覽器
當我運行測試時,我得到一個錯誤,無法找到元素,這是由於頁面加載,但沒有重定向到正確的鏈接。通常我會使用driver.gets,但不能讓它與頁面對象模型一起工作?
require 'rubygems'
require 'selenium-webdriver'
require 'page-object'
class ContactDemoQa
include PageObject
text_field(:name, :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(2) > span > input')
text_field(:email, :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(3) > span > input')
text_field(:subject, :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(4) > span > input')
text_area(:messages, :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(5) > span > textarea')
button(:send, :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(6) > input')
def contact_method(name, email, subject, message)
self.name = name
self.email = email
self.subject = subject
self.message = message
send
end
browser = 'http://demoqa.com/contact/'
browser = Selenium::WebDriver.for :firefox
contact_demo_qa = ContactDemoQa.new(browser)
contact_demo_qa.contact_method 'rob', '[email protected]', 'test', 'Yellow'
end
隨着頁面的對象模型,你的意思是有頁面對象和在一個類的方法,然後在另一個類中使用下面的代碼調用該方法?
browser = 'http://demoqa.com/contact/'
browser = Selenium::WebDriver.for :firefox
contact_demo_qa = ContactDemoQa.new(browser)
contact_demo_qa.contact_method 'rob', '[email protected]', 'test', 'Yellow'
你是問,如果這些最後4行應當在'ContactDemoQa'類或不?還是你問在哪裏調用'driver.get'? –
我在問最後4行是否應該在另一個班上。另外當我運行這個類的時候會發生,因爲它沒有指向頁面對象的正確URL。我錯過了URL,但我不知道如何使用頁面對象模型將它指向正確的URL。通常我在java中使用driver.gets(http)@JustinKo – Speedychuck