SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Testing Moodle functionality
automatically
A quick overview of the process we follow
at Moodle HQ to test Moodle functionality
automatically.
Who I am
David Monllaó - Test engineer at Moodle HQ
Integration team
Points
From a behaviour description to a tested
functionalities report.
1. Human-friendly language
2. Real users simulation
3. Running automatically
Human-friendly language
Scenario: Add a blog entry with valid data
Given I log in as "admin"
And I expand "Blogs" node
And I follow "Add a new entry"
And I fill the moodle form with:
| Entry title | I'm the name |
| Blog entry body | I'm the description |
When I press "Save changes"
Then I should see "I'm a description"
And I should not see "Required"
Human-friendly language
When I press "Save changes"
• “Save changes” is a variable, we read the page contents
looking for a button labelled as “Save changes”.
Then I should see "I'm a description"
• “I'm a description” is a variable, we read the page
contents looking for the “I'm a description” text.
Real users simulation
We use an open source project named Selenium.
As the official Selenium documentation states:
“Selenium automates browsers. That's it”
Is a server application that receives commands
(click or type keyboard keys) that it executes in a
browser.
Real users simulation
From human-friendly sentences to Selenium
commands.
1. When I press "Save changes"
2. When I press $variable
3. Find <button value=”$variable”> identifier in the page
contents
4. Send a click/ID command to Selenium
5. Selenium executes the click in the “Save changes” button like
a real user does
Real users simulation
Running automatically
• Moodle codebase includes around 160 different scenarios
(90 features)
• We use Jenkins Continuous Integration server to:
o Run the features in a regular basis, ensuring new code changes don't break
any functionality
o Release new moodle versions knowing that X of Moodle's features works as
expected
o Run all those features in multiple combinations of Browsers and Operating
Systems
• We will continue adding new feature files to expand
Moodle's functionalities coverage.
Running automatically
Running automatically
Anyone can do it, all is included in Moodle's
codebase, can be useful to:
• Contribute new feature files describing Moodle's
functionalities
• Add feature files for the 3rd party plugins you develop
• Run the test suite to ensure your local code modifications
are not breaking any of Moodle's functionalities
More information
• Moodle Docs – Acceptance testing
o
http://docs.moodle.org/dev/Acceptance_testing
• Selenium
o
http://docs.seleniumhq.org/
• Jenkins Continuous Integration
o
http://jenkins-ci.org/
• Behat
o
http://behat.org
Any questions?
Thanks for your attention!
Moodle HQ (http://moodle.com)
David Monllaó (davidm@moodle.com)

Mais conteúdo relacionado

Mais procurados

Automating testing with open source tools (1)
Automating testing with open source tools (1)Automating testing with open source tools (1)
Automating testing with open source tools (1)
Rohit Biradar
 
Final presentation
Final presentationFinal presentation
Final presentation
dsmo223
 
Как не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарииКак не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарии
Andrii Dzynia
 

Mais procurados (20)

Automating testing with open source tools (1)
Automating testing with open source tools (1)Automating testing with open source tools (1)
Automating testing with open source tools (1)
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
2310 b 02
2310 b 022310 b 02
2310 b 02
 
Automated Builds And UI Testing in SharePoint 2010 Development
Automated Builds And UI Testing in SharePoint 2010 DevelopmentAutomated Builds And UI Testing in SharePoint 2010 Development
Automated Builds And UI Testing in SharePoint 2010 Development
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCUI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
 
Final presentation
Final presentationFinal presentation
Final presentation
 
Marcin Wasilczyk - Page objects with selenium
Marcin Wasilczyk - Page objects with seleniumMarcin Wasilczyk - Page objects with selenium
Marcin Wasilczyk - Page objects with selenium
 
MVP 2.0 Final Presentation
MVP 2.0 Final PresentationMVP 2.0 Final Presentation
MVP 2.0 Final Presentation
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 
How to make your functional tests really quick
How to make your functional tests really quickHow to make your functional tests really quick
How to make your functional tests really quick
 
Selenium classes in mumbai
Selenium classes in mumbaiSelenium classes in mumbai
Selenium classes in mumbai
 
Monufacture: Effortless Test Data for MongoDB
Monufacture: Effortless Test Data for MongoDBMonufacture: Effortless Test Data for MongoDB
Monufacture: Effortless Test Data for MongoDB
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Odoo profiler
Odoo profilerOdoo profiler
Odoo profiler
 
Scaling Engineering with Docker
Scaling Engineering with DockerScaling Engineering with Docker
Scaling Engineering with Docker
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...
 
Web automation with Selenium for software engineers
Web automation with Selenium for software engineersWeb automation with Selenium for software engineers
Web automation with Selenium for software engineers
 
Как не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарииКак не нужно писать Gherkin сценарии
Как не нужно писать Gherkin сценарии
 

Destaque

Use Your Noodle: Blending with Moodle
Use Your Noodle: Blending with MoodleUse Your Noodle: Blending with Moodle
Use Your Noodle: Blending with Moodle
Michelle Moore
 
Induction Moodle English
Induction Moodle EnglishInduction Moodle English
Induction Moodle English
Roman_Dudler
 
Scaling Open edX with Kubernetes
Scaling Open edX with KubernetesScaling Open edX with Kubernetes
Scaling Open edX with Kubernetes
Appsembler
 

Destaque (20)

Lifecycle of a Moodle Bug - #mootus16
Lifecycle of a Moodle Bug - #mootus16Lifecycle of a Moodle Bug - #mootus16
Lifecycle of a Moodle Bug - #mootus16
 
Screencasting in Moodle: Does size matter?
Screencasting in Moodle: Does  size matter?Screencasting in Moodle: Does  size matter?
Screencasting in Moodle: Does size matter?
 
Tools and Tips for Moodle Developers - #mootus16
 Tools and Tips for Moodle Developers - #mootus16 Tools and Tips for Moodle Developers - #mootus16
Tools and Tips for Moodle Developers - #mootus16
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
 
Use Your Noodle: Blending with Moodle
Use Your Noodle: Blending with MoodleUse Your Noodle: Blending with Moodle
Use Your Noodle: Blending with Moodle
 
Induction Moodle English
Induction Moodle EnglishInduction Moodle English
Induction Moodle English
 
Mobile learning with moodle
Mobile learning with moodleMobile learning with moodle
Mobile learning with moodle
 
Unidades fundamentales de una computadora
Unidades fundamentales de una computadoraUnidades fundamentales de una computadora
Unidades fundamentales de una computadora
 
Creating Moodle Mobile remote themes
Creating Moodle Mobile remote themesCreating Moodle Mobile remote themes
Creating Moodle Mobile remote themes
 
TONI-4 Test Review
TONI-4 Test ReviewTONI-4 Test Review
TONI-4 Test Review
 
Introduction to moodle
Introduction to moodle Introduction to moodle
Introduction to moodle
 
Scaling Open edX with Kubernetes
Scaling Open edX with KubernetesScaling Open edX with Kubernetes
Scaling Open edX with Kubernetes
 
Teka silang kata matematik
Teka silang kata matematikTeka silang kata matematik
Teka silang kata matematik
 
AKREDITASI TK/RA
AKREDITASI TK/RAAKREDITASI TK/RA
AKREDITASI TK/RA
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and Plugins
 
Teaching Teachers to Teach with Moodle
Teaching Teachers to Teach with MoodleTeaching Teachers to Teach with Moodle
Teaching Teachers to Teach with Moodle
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 

Semelhante a Testing Moodle functionality automatically

Getting started with workflow
Getting started with workflowGetting started with workflow
Getting started with workflow
seenu126
 
BDD approach with Selenium RC
BDD approach with Selenium RCBDD approach with Selenium RC
BDD approach with Selenium RC
Mykola Kolisnyk
 
Selenium ide made easy
Selenium ide made easySelenium ide made easy
Selenium ide made easy
Narayanan Palani
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui Testing
ChristopherGTaylor
 

Semelhante a Testing Moodle functionality automatically (20)

Efficient Automated Test Creation With Selenium IDE Plugins
Efficient Automated Test Creation With Selenium IDE PluginsEfficient Automated Test Creation With Selenium IDE Plugins
Efficient Automated Test Creation With Selenium IDE Plugins
 
Workflow, Revisioning and Rules in Drupal
Workflow, Revisioning and Rules in DrupalWorkflow, Revisioning and Rules in Drupal
Workflow, Revisioning and Rules in Drupal
 
Selenium with testng and eclipse ide
Selenium with testng and eclipse ideSelenium with testng and eclipse ide
Selenium with testng and eclipse ide
 
Cs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ reportCs690 object oriented_software_engineering_team01_ report
Cs690 object oriented_software_engineering_team01_ report
 
Selenium Training in Chennai
Selenium Training in ChennaiSelenium Training in Chennai
Selenium Training in Chennai
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
 
Building a Module in Odoo 16
Building a Module in Odoo 16Building a Module in Odoo 16
Building a Module in Odoo 16
 
Selenium Training in Chennai
Selenium Training in ChennaiSelenium Training in Chennai
Selenium Training in Chennai
 
Dreaweaver cs5
Dreaweaver cs5Dreaweaver cs5
Dreaweaver cs5
 
Getting started with workflow
Getting started with workflowGetting started with workflow
Getting started with workflow
 
Everything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: TutorialEverything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: Tutorial
 
BDD approach with Selenium RC
BDD approach with Selenium RCBDD approach with Selenium RC
BDD approach with Selenium RC
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
Selenium ide made easy
Selenium ide made easySelenium ide made easy
Selenium ide made easy
 
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVALWHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui Testing
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Instagram filters
Instagram filters Instagram filters
Instagram filters
 
Basics of Joomla!
Basics of Joomla! Basics of Joomla!
Basics of Joomla!
 

Mais de David Monllaó

Mais de David Monllaó (8)

Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)
 
Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)
 
Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...
 
A Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsA Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management Systems
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigo
 
Install solr and global search
Install solr and global searchInstall solr and global search
Install solr and global search
 
Add your plugin contents to global search
Add your plugin contents to global searchAdd your plugin contents to global search
Add your plugin contents to global search
 
Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Último (20)

WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 

Testing Moodle functionality automatically

  • 1. Testing Moodle functionality automatically A quick overview of the process we follow at Moodle HQ to test Moodle functionality automatically.
  • 2. Who I am David Monllaó - Test engineer at Moodle HQ Integration team
  • 3. Points From a behaviour description to a tested functionalities report. 1. Human-friendly language 2. Real users simulation 3. Running automatically
  • 4. Human-friendly language Scenario: Add a blog entry with valid data Given I log in as "admin" And I expand "Blogs" node And I follow "Add a new entry" And I fill the moodle form with: | Entry title | I'm the name | | Blog entry body | I'm the description | When I press "Save changes" Then I should see "I'm a description" And I should not see "Required"
  • 5. Human-friendly language When I press "Save changes" • “Save changes” is a variable, we read the page contents looking for a button labelled as “Save changes”. Then I should see "I'm a description" • “I'm a description” is a variable, we read the page contents looking for the “I'm a description” text.
  • 6. Real users simulation We use an open source project named Selenium. As the official Selenium documentation states: “Selenium automates browsers. That's it” Is a server application that receives commands (click or type keyboard keys) that it executes in a browser.
  • 7. Real users simulation From human-friendly sentences to Selenium commands. 1. When I press "Save changes" 2. When I press $variable 3. Find <button value=”$variable”> identifier in the page contents 4. Send a click/ID command to Selenium 5. Selenium executes the click in the “Save changes” button like a real user does
  • 9. Running automatically • Moodle codebase includes around 160 different scenarios (90 features) • We use Jenkins Continuous Integration server to: o Run the features in a regular basis, ensuring new code changes don't break any functionality o Release new moodle versions knowing that X of Moodle's features works as expected o Run all those features in multiple combinations of Browsers and Operating Systems • We will continue adding new feature files to expand Moodle's functionalities coverage.
  • 11. Running automatically Anyone can do it, all is included in Moodle's codebase, can be useful to: • Contribute new feature files describing Moodle's functionalities • Add feature files for the 3rd party plugins you develop • Run the test suite to ensure your local code modifications are not breaking any of Moodle's functionalities
  • 12. More information • Moodle Docs – Acceptance testing o http://docs.moodle.org/dev/Acceptance_testing • Selenium o http://docs.seleniumhq.org/ • Jenkins Continuous Integration o http://jenkins-ci.org/ • Behat o http://behat.org
  • 13. Any questions? Thanks for your attention! Moodle HQ (http://moodle.com) David Monllaó (davidm@moodle.com)