Using the Selenium server instead of the Selelium IDE

This commit is contained in:
Daniel Maldonado 2012-07-02 16:43:15 -04:00
parent cacc7443dc
commit a9037d6a22
3 changed files with 107 additions and 9 deletions

View file

@ -1,20 +1,49 @@
danny_mk, yeah. the best thing you could do is make a branch for the selenium work that doesn't have any other commits in it for other stuff
scrottie git branch selenium; git checkout selenium
scrottie git cherry-pick b8596fd10da910254150db02dc7336bda5a25c89 # to bring over the one commit that you did
scrottie then to push that: git push origin selenium
Install WebGUI using to the instructions at: https://github.com/plainblack/webgui/tree/WebGUI8
Create the following settings in your test site webgui.conf file:
"selenium" : {
"server" : "localhost",
"port" : "4444",
"browser" : "firefox",
"webgui_url" : "http://your_webgui_test_site_url"
},
Make sure you select all the defaults (do not change the "admin" user password)
Pick the site design: "Style 03" (This is the style selected for testing)
Download the Selenium server from: http://seleniumhq.org/download/)
as of this writing it was selenium-server-standalone-2.24.1.jar
Running the Selenium Server (run in a separate command line/window)
java -jar selenium-server-standalone-2.24.1.jar
The -browserSessionReuse is to keep the selenium session open so you may troubleshoot page issues
The Selenium software automatically closes the browser when the tests are concluded. If you are writing/troubleshooting tests
and need the browser to remain open use:
java -jar selenium-server-standalone-2.24.1.jar -browserSessionReuse
GOTCHAS ---
If running the selenium tests in the IDE make sure to change:
<link rel="selenium.base" href="http://webgui.dbash.com" /> TO: <link rel="selenium.base" href="http://your_webgui_test_site_url" />
Selenium server not running (this may vary according to the values in your webgui.conf file):
Error requesting http://localhost:4444/selenium-server/driver/:
500 Can't connect to localhost:4444 (Connection refused)
Optional:
Download and install the Selenium IDE from: http://seleniumhq.org/projects/ide/
Take a look at the Selenium IDE documentation: http://seleniumhq.org/docs/02_selenium_ide.html
Youtube videos can be quite handy:
http://www.youtube.com/watch?v=i4NTGUm6oeQ
http://www.youtube.com/results?search_query=selenium+tutorial+for+beginner
Use the Selenium IDE to open the test suites:
adminSuite.html
frameless/suite.html
GOTCHAS ---
Change: <link rel="selenium.base" href="http://webgui.dbash.com" /> TO: <link rel="selenium.base" href="http://your_test_website" />
http://www.youtube.com/results?search_query=selenium+tutorial+for+beginner

View file

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://webgui.dbash.com" />
<link rel="selenium.base" href="http://webgui.dbash.com/" />
<title>login</title>
</head>
<body>

69
selenium/test.pl Normal file
View file

@ -0,0 +1,69 @@
#!/usr/bin/perl
use Test::More tests => 98;
use Test::WWW::Selenium;
use Test::WWW::Selenium::HTML;
use WebGUI::Paths -inc;
use WebGUI::Config;
use strict;
WebGUI::Paths->siteConfigs or die "no configuration files found";
my $config = undef;
my $webguiSiteUrl = undef;
my $browser = undef;
my $seleniumServer = undef;
my $seleniumServerPort = undef;
if ( my $config_file = $ENV{WEBGUI_CONFIG} ){
my $webguiTestConfigFilename = WebGUI::Paths->configBase . '/' . $config_file;
$config = WebGUI::Config->new( $webguiTestConfigFilename ) or die "failed to load configuration file: $webguiTestConfigFilename: $!";
eval{
$webguiSiteUrl = $config->{config}->{selenium}->{webgui_url};
$browser = $config->{config}->{selenium}->{browser}; # firefox, iexplore, safari
$seleniumServer = $config->{config}->{selenium}->{server};
$seleniumServerPort = $config->{config}->{selenium}->{port};
} || die "Can't get Selenium configuration values from configuration file: $webguiTestConfigFilename\n";
}else{
die "Please read the instructions, you must specify a PERL5LIB and WEBGUI_CONFIG file value!\n";
}
#
my $sel = Test::WWW::Selenium->new(
host => $seleniumServer,
port => $seleniumServerPort,
browser => "*$browser",
browser_url => $webguiSiteUrl );
my $selh = Test::WWW::Selenium::HTML->new( $sel );
$selh->diag_body_text_on_failure(0);
#------------------------- Run All Tests here -----------------------
ok(1, "Login test");
$selh->run(path => "login.html");
ok(1, "Turn On Admin test");
$selh->run(path => "turnOnAdmin.html");
ok(1, "Admin Console tests");
$selh->run(path => "turnOnAdmin.html");
ok(1, "Version Tags tests");
$selh->run(path => "versionTags.html");
ok(1, "Clipboard test");
$selh->run(path => "clipboard.html");
ok(1, "Asset Helpers tests");
$selh->run(path => "assetHelpers.html");
ok(1, "New Content->Basic tests");
$selh->run(path => "newContentBasic.html");
ok(1, "New Content->Community tests");
$selh->run(path => "newContentCommunity.html");
ok(1, "New Content->Intranet tests");
$selh->run(path => "newContentIntranet.html");
ok(1, "New Content->Prototypes tests");
$selh->run(path => "newContentPrototypes.html");
ok(1, "New Content->Shop tests");
$selh->run(path => "newContentShop.html");
ok(1, "New Content->Utilities tests");
$selh->run(path => "newContentUtilities.html");