Page对象和超类构造函数的问题

时间:2017-06-16 23:59:13

标签: ruby selenium page-object-gem

我正在使用ruby selenium webdriver绑定。

我有一个继承自基类的类并包含PageObject模块,我在子类中有一个覆盖基类的初始化方法。

然而,当我创建对象时,它没有给我页面对象属性,它的解决方案是什么?

这是我的代码:

require 'rubygems'
require 'selenium-webdriver'
require 'page-object'
require '../pages/BasePage.rb'

class AdminLoginPage < BasePage
 include PageObject


    text_field(:username, :xpath => "//input[@name='username']")
    text_field(:password, :xpath => "//input[@name='password']")
    button(:login, :css => 'div.form-actions button[type = "submit"]')
    link(:url, :link => 'https://dev.herokuapp.com')

     def initialize_page(driver)
       super
     end

    def login_with(username,password)
        self.username=username
        self.password=password
        login
    end 


    obj = AdminLoginPage.new(Selenium::WebDriver.for(:firefox)) 
    **obj.username= "test test"
    puts obj.username**

end 

这是o / p:

block in text_field': undefined method `text_field_value_set' for nil:NilClass (NoMethodError)

我该如何解决这个问题?

0 个答案:

没有答案