Skip to content

Commit

Permalink
Added Vagrant for users and developers
Browse files Browse the repository at this point in the history
  • Loading branch information
nbaars committed Sep 23, 2016
1 parent 5d69467 commit 1033df4
Show file tree
Hide file tree
Showing 6 changed files with 245 additions and 96 deletions.
28 changes: 27 additions & 1 deletion README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ wish to simply try/test/run the current development version of WebGoat
### Prerequisites:
* Java VM 1.8

## Easy Run Instructions:
## Standalone

#### 1. Download the easy run executable jar file which contains all the lessons and a embedded Tomcat server:

Expand All @@ -73,9 +73,35 @@ Using the `--help` option will show the allowed command line arguments.

#### 3. Browse to the url shown in the console and happy hacking !

## Vagrant

To run WebGoat with Vagrant you must first have Vagrant and Virtualbox installed.

```shell
$ cd WebGoat/webgoat-images/vagrant-users
$ vagrant up
```

Once you see the message 'Browse to http://localhost:9999/WebGoat and happy hacking! you can open a
browser.


# For Developers

## Vagrant

For an easy development experience you can use Vagrant. Note you should have Vagrant and Virtualbox installed on your system.

```shell
$ cd WebGoat/webgoat-images/vagrant-developers
$ vagrant up
```

Once the provisioning is complete login to the Virtualbox with username vagrant and password vagrant.
The source code will be available in the home directory.

## Set up manual

Follow these instructions if you wish to run Webgoat and modify the source code as well.

### Prerequisites:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package org.owasp.webgoat.plugins;

import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.StaleElementReferenceException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.FluentWait;
import org.openqa.selenium.support.ui.WebDriverWait;

import static java.util.concurrent.TimeUnit.SECONDS;

/**
* ************************************************************************************************
* This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
* <p>
* Copyright (c) 2002 - 20014 Bruce Mayhew
* <p>
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
* <p>
* Getting Source ==============
* <p>
* Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software
* projects.
* <p>
*
* @author WebGoat
* @version $Id: $Id
* @since September 22, 2016
*/
public class TestUtils {

public static void assertTitlePresent(WebDriver webDriver, String title) {
FluentWait<WebDriver> wait = new WebDriverWait(webDriver, 15); // wait for a maximum of 15 seconds
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("lesson-title"), title));
}

public static FluentWait createDefaultWait(WebDriver webDriver) {
return new FluentWait(webDriver)
.withTimeout(10, SECONDS)
.pollingEvery(2, SECONDS)
.ignoring(NoSuchElementException.class)
.ignoring(StaleElementReferenceException.class);

}
}
Loading

0 comments on commit 1033df4

Please sign in to comment.