Git Product home page Git Product logo

functional-test-suite's Introduction

The Moodle Functional Test Automation Harness

This is an open source project that automates some types of testing for Moodle and is based upon
Selenium WebDriver, it includes all Jars required to build the project. Please feel free to generate your own javadocs, 
write your own tests, page objects and utilities or even extend WebDriver to make it more user friendly. Everything in the
project is Open Source.

The project is very incomplete and will be subject to change, classes may be moved and removed and directory structures may change.

This IS NOT a unit testing tool, it exercises the application as a whole through the user interface. If you wish to write unit
tests please use the PHPUnit framework and follow the unit test guidelines at moodle.org.

Possible uses include the automation of:
Functional Testing
Acceptance Testing
Load Testing
Performance Testing
Stress Testing
Installation Testing

Please see the http://www.seleniumhq.org for official support and documentation of Selenium. For training documentation also see: http://www.compendiumdev.co.uk/selenium/ (Selenium 1).

DESIGN CONSIDERATIONS:

Tests are written making use of page object repositories and NOT recorded using Selenium IDE. The object repositories model the behaviour of a Moodle page or even a distinct section of a page e.g. the navigation block.

LIMITATIONS:
The page objects may need to be modified to work with your Moodle installation depending on the implementation of themes. Currently, only very limited testing have been performed on themes.

The Selenium tests can only operate within the context of the browser. Other tools are needed to simulate features such as the uploading files.

KNOWN ISSUES:
The only WebDrivers that have been tested with Moodle are:
RemoteWebdriver; for use with Selenium Server(RC).
ChromeDriver; For local Chrome installations.
FirefoxDriver; For local Firefox installations.

This software is supplied free of charge without any warranty.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.