forked from EVOgeek/Vmeda.Online
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
| @app @javascript @performance
 | |
| Feature: Measure performance.
 | |
| 
 | |
|   Background:
 | |
|     Given the following "users" exist:
 | |
|       | username |
 | |
|       | student1 |
 | |
|     And the following "courses" exist:
 | |
|       | fullname | shortname | category |
 | |
|       | Course 1 | C1        | 0        |
 | |
|     And the following "course enrolments" exist:
 | |
|       | user     | course | role    |
 | |
|       | student1 | C1     | student |
 | |
|     And the following "activities" exist:
 | |
|       | activity | name            | intro                   | course | idnumber | option                       | section |
 | |
|       | choice   | Choice course 1 | Test choice description | C1     | choice1  | Option 1, Option 2, Option 3 | 1       |
 | |
| 
 | |
|   Scenario: First Contentful Paint
 | |
|     Given I start measuring "First Contentful Paint"
 | |
|     When I launch the app runtime
 | |
|     Then I should find "Welcome to the Moodle App!" in the app
 | |
| 
 | |
|     When I stop measuring "First Contentful Paint"
 | |
|     Then "First Contentful Paint" should have taken less than 6 seconds
 | |
| 
 | |
|   Scenario: Time to Interactive
 | |
|     Given I start measuring "Time to Interactive"
 | |
|     When I launch the app runtime
 | |
|     Then I should find "Welcome to the Moodle App!" in the app
 | |
| 
 | |
|     When I press "Skip" in the app
 | |
|     Then I should not find "Skip" in the app
 | |
|     And I should find "Connect to Moodle" in the app
 | |
| 
 | |
|     When I stop measuring "Time to Interactive"
 | |
|     Then "Time to Interactive" should have taken less than 7 seconds
 | |
| 
 | |
|   Scenario: Total Blocking Time
 | |
|     Given I launch the app runtime
 | |
|     Then I should find "Welcome to the Moodle App!" in the app
 | |
| 
 | |
|     When I start measuring "Total Blocking Time"
 | |
|     And I press "Skip" in the app
 | |
|     Then I should not find "Skip" in the app
 | |
|     And I should find "Connect to Moodle" in the app
 | |
| 
 | |
|     When I stop measuring "Total Blocking Time"
 | |
|     Then "Total Blocking Time" should have taken less than 2 seconds
 | |
| 
 | |
|   Scenario: Login
 | |
|     When I launch the app
 | |
|     Then I should see "Connect to Moodle"
 | |
|     But I should not see "Welcome to the Moodle App!"
 | |
| 
 | |
|     When I start measuring "Login"
 | |
|     And I set the field "Your site" to "$WWWROOT" in the app
 | |
|     And I press "Connect to your site" in the app
 | |
|     And I log in as "student1"
 | |
|     And I should find "Timeline" in the app
 | |
| 
 | |
|     When I stop measuring "Login"
 | |
|     Then "Login" should have taken less than 10 seconds
 | |
| 
 | |
|   Scenario: Open Activity
 | |
|     When I launch the app
 | |
|     Then I should see "Connect to Moodle"
 | |
|     But I should not see "Welcome to the Moodle App!"
 | |
| 
 | |
|     And I set the field "Your site" to "$WWWROOT" in the app
 | |
|     And I press "Connect to your site" in the app
 | |
|     And I log in as "student1"
 | |
|     Then I press "My courses" in the app
 | |
|     And I should find "Course 1" in the app
 | |
| 
 | |
|     When I reload the page
 | |
|     And I start measuring "Open Activity"
 | |
|     And I wait the app to restart
 | |
|     Then I should find "Course 1" in the app
 | |
| 
 | |
|     When I enter the course "Course 1" in the app
 | |
|     And I press "Choice course 1" in the app
 | |
|     Then I should find "Option 1" in the app
 | |
| 
 | |
|     When I stop measuring "Open Activity"
 | |
|     # TODO Check back to 7s or review perfect timings
 | |
|     Then "Open Activity" should have taken less than 8 seconds
 |