Added integration tests using capybara, selenium and firefox
This commit is contained in:
10
test/integration/check_environment.rb
Normal file
10
test/integration/check_environment.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
require 'test/unit'
|
||||
|
||||
class TC_CheckEnvironment < Test::Unit::TestCase
|
||||
|
||||
def test_check_env
|
||||
# Add environment checks here
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
33
test/integration/tc_login.rb
Normal file
33
test/integration/tc_login.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
require 'test/unit'
|
||||
|
||||
class TC_login < Test::Unit::TestCase
|
||||
include Capybara::DSL
|
||||
|
||||
def teardown
|
||||
Capybara.reset_sessions!
|
||||
Capybara.use_default_driver
|
||||
end
|
||||
|
||||
def test_log_in
|
||||
session = Capybara::Session.new(:selenium)
|
||||
session.visit('http://localhost:3000/ui/panel')
|
||||
session.has_content?('BeEF Authentication')
|
||||
session.fill_in 'user', :with => 'beef'
|
||||
session.fill_in 'pass', :with => 'beef'
|
||||
session.click_button('Login')
|
||||
session.has_content?('logout')
|
||||
|
||||
session
|
||||
end
|
||||
|
||||
|
||||
def test_log_out
|
||||
session = test_log_in
|
||||
session.has_content?('logout')
|
||||
session.click_link('Logout')
|
||||
session.has_content?('BeEF Authentication')
|
||||
|
||||
session
|
||||
end
|
||||
|
||||
end
|
||||
41
test/integration/ts_integration.rb
Normal file
41
test/integration/ts_integration.rb
Normal file
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Copyright 2012 Wade Alcorn wade@bindshell.net
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Common lib for BeEF tests
|
||||
require '../common/ts_common'
|
||||
|
||||
require 'capybara/DSL'
|
||||
Capybara.run_server = false # we need to run our own BeEF server
|
||||
|
||||
require 'selenium/webdriver'
|
||||
require "selenium"
|
||||
|
||||
require './check_environment' # Basic log in and log out tests
|
||||
require './tc_login' # Basic log in and log out tests
|
||||
|
||||
class TS_BeefIntegrationTests
|
||||
def self.suite
|
||||
|
||||
suite = Test::Unit::TestSuite.new(name="BeEF Integration TestSuite")
|
||||
suite << TC_CheckEnvironment.suite
|
||||
suite << TC_login.suite
|
||||
|
||||
return suite
|
||||
end
|
||||
end
|
||||
|
||||
Test::Unit::UI::Console::TestRunner.run(TS_BeefIntegrationTests)
|
||||
|
||||
Reference in New Issue
Block a user