0

負ける前に助けてください!

Ruby Test Unit と Selenium Webdriver を使用しています。私のテストはすべてログイン機能から始まるため、テストでユーザー名とパスワードの値を中央のスクリプト/csv/テキスト ファイルから最も簡単に取得できるようにしたいと考えています。これにより、ログインの詳細をすべてのスクリプトにハードコーディングするよりも、1 か所から簡単に制御できるようになります。私は Ruby プログラマーではないので、これが特に簡単だとは思いません。外部ソースから値を読み取れるように、「def setup」セクションでユーザー名とパスワードのパラメーターを宣言できるようにすべきだと考えています。

これは可能ですか?

   require "selenium-webdriver"
   require "test/unit"


   class CMSNewslist < Test::Unit::TestCase

      def setup
       @driver = Selenium::WebDriver.for :firefox
       @base_url = "http://skyintranet/"
       @driver.manage.timeouts.implicit_wait = 90
       @verification_errors = []
      end

      def teardown
       @driver.quit
       assert_equal [], @verification_errors
      end


      def test_c_m_s_newslist
       @driver.get(@base_url + "/Enterprise-Applications-Test/")
       @driver.find_element(:link, "Login").click
       @driver.find_element(:id,     "ctl00_MainRegion_LoginView_LoginControl_UserName").clear
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_UserName").send_keys  "Ruband"
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_Password").clear
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_Password").send_keys  "Donn1982"
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_LoginBtn").click
assert_equal "Logout", @driver.find_element(:class, "loginButton").text, "Login Unsuccessful"
puts "Login Successful"

どうもありがとう。

4

1 に答える 1

1

それらを別のファイルに入れて読み取るか、各スクリプトに含まれる mixin を持つことができます。

module LoginConfig
    @@username = 'foo'
    @@password = 'bar'
end

次に、クラス CMSNewslist 内で次のようにします。

...
require 'login_config'

class CMSNewslist < Test::Unit::TestCase
    include LoginConfig
...

次に、@@username と @@password を使用できます。ミックスインに関する適切なチュートリアルは次のとおりです... http://www.tutorialspoint.com/ruby/ruby_modules.htm

于 2012-10-28T20:47:14.057 に答える