请在失去之前帮助我!
我正在使用Ruby Test Unit和Selenium Webdriver。我的所有测试都以登录功能开始,因此我希望测试从中央脚本/ csv / text文件中提取用户名和密码值,这是最简单的。这样可以更轻松地从一个位置控制登录详细信息,而不是将其硬编码到每个脚本中。我不是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"
非常感谢。
答案 0 :(得分:1)
您可以将它们放在一个单独的文件中,然后阅读它或者让每个脚本都包含一个mixin。
module LoginConfig
@@username = 'foo'
@@password = 'bar'
end
然后在你的班级CMSNewslist:
...
require 'login_config'
class CMSNewslist < Test::Unit::TestCase
include LoginConfig
...
然后您可以使用@@ username和@@密码。这是一个关于Mixins的体面教程...... http://www.tutorialspoint.com/ruby/ruby_modules.htm