PageObject with Ruby - definir texto em um campo de texto só funciona no arquivo principal

Estou automatizando um site que tem uma página com uma lista de opções selecionadas por um botão de opção. Ao selecionar um dos rádios, um campo de texto e uma lista de seleção são apresentado

Criei um arquivo (test_contracting.rb) que é aquele através do qual executo o teste (ruby test_contracting.rb) e algumas outras classes para representar minha págin

Na minha classe ContractPage, tenho a seguinte declaração de elemento:

  checkbox(:option_sub_domain, :id => "option_sub_domain")
  text_field(:domain, :id => "domain_text") 
  select_list(:tld, :id => "domain_tld")

Eu criei no ContractPage um método que define a configuração do domínio assim:

  def configure_domain(config={})
        check_option_sub_domain
        domain = config[:domain]
        tld = config[:tld]
   end

Quando chamo o método configure_domain a partir do test_contracting.rb, ele seleciona o botão de opção, mas não preenche o campo com os valores. Os parâmetros estão entrando no método corretamente. Eu verifiquei usando "puts". Mesmo que eu mude os parâmetros para uma string geral como "bla", ela não funciona. O ponto irritante é que, se em test_contracting.rb eu chamar exatamente os mesmos componentes, ele funcionar

my_page_instance = ContractPage.new(browser)
my_page_instance.domain = "bla"
my_page_instance.tld = ".com"

O que eu encontrei para trabalhar foi no método configure_domain, implemente o seguinte:

domain_element.value = config[:domain]
tld_element.send_keys config[:locaweb_domain]

Então funcionou.

A documentação do módulo PageObjects que estou usando como referência pode ser encontrada aqui:http: //rubydoc.info/github/cheezy/page-object/master/PageObject/Accessors#select_list-instance_metho

Vocês têm alguma explicação sobre por que o método gerado automaticamente pelo objeto de página para definir o valor do objeto não funcionou neste escopo / context

Aliás, um amigo tentou a mesma coisa com Java e também falhou.

questionAnswers(2)

yourAnswerToTheQuestion