Some testcases are only relevant on browsers that support getUserMedia. To check if a device&browser supports getUserMedia you can check this link - canIUse getUserMedia
(on private mode of: Google Chrome, Firefox, Safari and Microsoft Edge browsers)
Given webcam is connected to the computer
- Go through the flow to face capture
- browser should ask to enable the webcam
- Accept the webcam to be used on browser
- photo capture frame should display preview from webcam
- Take photo with a webcam
- confirmation screen should show up containing photo that was taken
- user should be able to retake or continue with taken photo
(on private mode of: Google Chrome, Firefox, Safari and Microsoft Edge browsers)
Given webcam is connected to the computer
- Open link with additional GET parameter
?useWebcam=true
- Go through the flow to document capture
- browser should ask to enable the webcam
- Accept the webcam to be used on browser
- photo capture frame should display preview from webcam
- Place document in front of camera so that it aligns the edges of document capture frame
- document should be auto-captured
- confirmation screen should show up containing a photo that was taken
- user should be able to retake or continue with taken photo
(on private mode of one of the desktop browsers and both Android Chrome and iOS Safari mobile browsers)
Given user is on Passport page
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen
- user should see
- Click on
Get secure link
button- user should see a QR code below the
Scan the QR code with your phone
sub-title - user should also see
How to scan a QR code
help button below the QR code
- user should see a QR code below the
- Clicking on
How to scan a QR code
button should display help instructions - Using the mobile phone's Camera app, scan the QR code and open the link on the browser
- Mobile browser should load link
- user should see
Submit passport photo page
screen withTake photo
button - user should be able to upload a document from a mobile device
- user should see
(on private mode of: Firefox, Safari, IE11 and Microsoft Edge browsers)
Given user is on Passport page
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen
- user should see
- Click on
Get secure link
button- user should see options to either
Get link via SMS
orCopy link
- user should see options to either
- Click on
Copy link
option - Click on
Copy
button to copy the link - Open new tab and paste the copied link
- user should see
Submit passport photo page
as the title of the screen - user should be able to upload a document from a mobile device
- user should see
- Switch to the first tab
- user should see
Connected to your mobile
screen - user should see an option to cancel
- user should see
- Switch to the second tab and complete uploading the document and photo
- Switch to the first tab again
- user should see
Great, that’s everything we need
screen - list of items uploaded should be displayed as
Document uploaded
Selfie uploaded
- user should see the
Submit verification
button
- user should see
- Submit verification
- user should see
Verification complete
screen
- user should see
(on private mode of: Google Chrome, Firefox browsers)
Given user is on Passport page and link is opened with additional GET parameter ?liveness=true
- Follow steps 1-6 of the test above (3a)
- Switch to the second tab and complete uploading the document and liveness video challenges
- Switch to the first tab again
- user should see
Great, that’s everything we need
screen - list of items uploaded should be displayed as
Document uploaded
Video uploaded
- user should see the
Submit verification
button
- user should see
- Submit verification
- user should see
Verification complete
screen
- user should see
(on one of the desktop browsers and both Android Chrome and iOS Safari mobile browsers)
Given user is on upload document page on desktop browser
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen - user should be able to continue to next screen and provide mobile number from any country
- user should see the option to send SMS
- user should see option to copy link
- user should see
- Type valid mobile number connected to mobile test device and click on
Send link
button- user should see
Check your mobile
screen - user should see option to resend link
- user should receive SMS on a mobile device
a. Additional test: Double click on
Send link
button- subsequent steps should be same as above and not skip straight to
Complete
screen
- subsequent steps should be same as above and not skip straight to
- user should see
- Open link on mobile device (for each mobile browser)
- user should see
Upload front of document
screen - user should be able to upload a document from a mobile device
- user should see
(on private mode of one of the desktop browsers and both Android Chrome and iOS Safari mobile browsers)
Given user is
1. using the Spanish SDK by opening the link with additional GET parameter `?language=es`
2. Given user is on upload document page on desktop browser
- Click on
Continuar en el teléfono
button to start cross-device flow- user should see
Continúe en su teléfono móvil
screen - user should be able to continue to next screen and have the options for SMS and copy link
- user should see
- Click on
Obtener link via mensage de texto
option button- user should be able to provide mobile number from any country
- user should now see the options to switch to QR code or copy link at the bottom
- Type valid mobile number connected to mobile test device and send
- user should see
Controle su dispositivo móvil
screen - user should see option to resend link
- user should receive SMS on a mobile device
- the body of the SMS should be in Spanish
- user should see
- Open link on mobile device (for each mobile browser)
- user should see that the SDK is in Spanish
(on private mode of yet another browser)
Given user is on first page of cross-device flow
- STAGING ONLY: Type invalid US number (+1 234 567 8912) and click send
- user should see
Something's gone wrong
error - user should persist on the same screen
- user should see
(on private mode of: Google Chrome, Firefox, Safari and Microsoft Edge browsers)
Given user is on first page of cross-device flow
- Click on the
Copy
button - Open a new tab of the browser
- Paste the link
- user should see
Something's gone wrong
message - user should see
You must open this link on a mobile device
message - user should see the icon with the phone, screen and the red cross
- user should see
(on private mode of: Google Chrome, Firefox)
Given webcam is connected to the computer
- Open link with additional GET parameter
?liveness=true
- Upload the ID documents in the browser
- On the liveness recording screen, wait for the
Use your mobile to continue face verification
message and select it - Open the cross device link on a mobile device that doesn't have media recorder API support (Chrome on iOS)
- user should be taken to the selfie intro screen
- Open the cross device link on a mobile device that has media recorder API support (Chrome on Android)
- user should be taken to the liveness intro screen
Given webcam is not connected to the computer
- Open link with additional GET parameter
?liveness=true
- Upload the ID documents in the browser
- Open the cross device link on a mobile device that doesn't have media recorder API support (Chrome on iOS)
- user should be taken to the selfie intro screen
- Open the cross device link on a mobile device that has media recorder API support (Chrome on Android)
- user should be taken to the liveness intro screen
(on private mode of: Safari, Firefox, IE11 and Microsoft Edge browsers)
Go through the flow looking for layout/usability inconsistencies between browsers:
- Select one of the documents
- everything should be displayed properly and layout should not be broken
- Upload document
- everything should be displayed properly and layout should not be broken
- Upload face photo
- everything should be displayed properly and layout should not be broken
(on private mode of: Android Google Chrome and iOS Safari browsers)
Go through the flow looking for layout/usability inconsistencies between browsers:
- Select one of the documents
- everything should be displayed properly and layout should not be broken
- Upload document
- everything should be displayed properly and layout should not be broken
- Upload face photo
- everything should be displayed properly and layout should not be broken
(ONLY ON browsers with getUserMedia support: on an iOS and Android device; a laptop with camera; desktop or laptop with a third-party USB camera)
- Go to the face step
- Move your face to the left
- Make sure your face also moves to the left on camera feed (like looking at a mirror)
(ONLY ON browsers with getUserMedia support: on an iOS and Android device; a laptop with camera; desktop or laptop with a third-party USB camera)
- Go to the face step. If on desktop resize the window to less than 480px width wise (if the browser let's you reduce that far)
- The capture component should be fullscreen
(on any browser)
- Go to latest JSFiddle
- Add the following options to the
Onfido.init
initialisation params:
language: {
locale: 'fr',
phrases: {'welcome.title': 'Ouvrez votre nouveau compte bancaire'}
}
- Then the title on the welcome screen should be 'Ouvrez votre nouveau compte bancaire'
(on any browser)
- Go to latest JSFiddle
- Add the following options to the
Onfido.init
initialisation params:
language: {
locale: 'es',
phrases: {'welcome.title': 'A custom string'}
}
- Then the title on the welcome screen should be 'A custom string'
- All the other strings should be in Spanish
(on any browser)
- Go to latest JSFiddle
- Add the following options to the
Onfido.init
initialisation params:
language: {
locale: 'es',
mobilePhrases: {'capture.passport.front.title': 'A custom string'}
}
- Select passport on the document selector screen
- Choose the cross device flow and send an SMS to your mobile
- The SMS should be in Spanish
- When you open the link on your mobile device, the title on the cross device client should be
A custom string
- All the other strings should be in Spanish
Feature is available on desktop browsers only. (on Firefox, Safari, IE11 and Microsoft Edge browsers)
- Go through the flow to document capture
- Upload a document in PDF format
- You should see a confirm screen with the following outcomes
Outcome:
- on Safari (and Chrome - this is automated) you should see a preview of the PDF
- on Firefox, IE11, Microsoft Edge and mobile browsers you should see an icon of a PDF
- Go to latest JSFiddle
- Add the following options to the initialisation params:
{
steps: [
'welcome',
{
type:'document',
options: {
documentTypes: {
passport: true,
driving_licence: true
}
}
},
'face',
'complete'
]
}
Outcome:
- On the document selection screen only "Passport" and "Driver's License" options should be visible.
19. Check permission priming screen displays when webcam is available and permission was not yet granted
(on Firefox, Safari and Microsoft Edge browsers)
- Go through the flow to document capture
- Upload a valid document
- Click
Confirm
- You should see a permission priming screen
- Click
Enable webcam
- You should see the capture screen and camera permissions prompt
20. Check permission priming screen does not display when webcam is available and permission was already granted
(on Chrome)
- Go through the flow to document capture
- Upload a valid document
- Click
Confirm
- You should see the capture screen
21. Check permission denied / recovery screen displays when webcam is available and permission wasn't previously denied and is denied after prompt
(on Chrome)
- Go through the flow to document capture
- Upload a valid document
- Click
Confirm
- You should see a permission priming screen
- Click
Enable webcam
- You should see the capture screen and camera permissions prompt
- Click
Block
- You should see the permission denied / recovery screen
22. Check permission denied / recovery screen displays when webcam is available and permission was previously denied
(on Firefox, Safari and Microsoft Edge browsers)
- Go through the flow to document capture
- Upload a valid document
- Click
Confirm
- You should see a permission priming screen
- Click
Enable webcam
- You should see the permission denied / recovery screen if the browser does not remember previous decision
(on private mode of: Google Chrome, Firefox, Safari and Microsoft Edge browsers)
Given webcam is connected to the computer
- Go through the flow to face capture
- browser should ask to enable the webcam
- Accept the webcam to be used on browser
- photo capture frame should display preview from webcam
- Wait for 10 seconds
- A warning should pop up with "Use your mobile" link
- Click on "Use your mobile"
- You should be able to continue on mobile
(on private mode of getUsermedia supported browser: latest Google Chrome on Android and Safari on iOS11+)
- Go through the flow to face capture
- browser should ask to enable the camera
- Accept the camera to be used on browser
- photo capture frame should display preview from camera
- Wait for 8 seconds
- A warning should pop up asking if you are having problems with the camera
- Click on "Try the basic camera mode instead"
- You should be able to take a picture with your native camera
(on private mode of: Google Chrome and Firefox browsers)
Given webcam is connected to the computer
- Open link with additional GET parameter
?liveness=true
- Go through the flow to face capture
- You should see an intro screen with header "Let’s make sure nobody’s impersonating you"
- Click "Continue"
- browser should ask to enable the webcam
- Accept the webcam to be used on browser
- video capture frame should display preview from webcam
- Take a video with a webcam
- click on the camera button
- follow the instructions on the screen
- you should see 2 challenges
- once completed, you should be able to see the video and to click on "Confirm"
- you should see the complete screen
(on private mode of: Safari and Edge browsers - these browsers do not support video recording)
Given webcam is connected to the computer
- Open link with additional GET parameter
?liveness=true
- Go through the flow to face capture
- You should see a screen that guides you to use your mobile
- Copy the link
- Open the link in a new tab
- You should see a file uploader to upload a selfie
- Upload selfie
- Confirm
(on private mode of: any browser with no webcam OR Safari and Edge browsers)
Given there is no webcam connected to the computer
- Open link with additional GET parameter
?liveness=true
- Go through the flow to face capture
- You should see a screen that guides you to use your mobile
- Input mobile number
- Send SMS
- Click on link on your mobile
- Accept camera permissions On Android: 4a. You should see a camera screen
- You should be able to submit a video On iOS: 4b. You should see a file uploader to upload a selfie
- Upload selfie
- Confirm
ADDITIONAL TEST (for scenario where integrator sets requestedVariant: 'video'
with no other options set):
- Go to latest JSFiddle
- Add the following options to the
Onfido.init
initialisation params:
{
steps: [
'welcome',
{
type: 'face',
options: {
requestedVariant: 'video'
}
},
'complete'
]
}
- Should see same flow as from steps 3-4 above
(on one of the desktop browsers)
Given there is no webcam connected to the computer
- Open link with additional GET parameter
?countryCode=US
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen - user should be able to continue to next screen and provide mobile number from any country
- user should see the option to send SMS
- the SMS input flag should be the US flag
- user should see
(on one of the desktop browsers)
Given there is no webcam connected to the computer
- Open link with additional GET parameter
?countryCode=ABCD
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen - user should be able to continue to next screen and provide mobile number from any country
- user should see the option to send SMS
- the SMS input flag should be the UK one
- user should see
Given user opened the link with ?uploadFallback=false
flag
- And user is on first page of cross-device flow
- Open the cross device link on mobile browsers with a working webcam
- user should be able to complete the cross-device flow successfully
Given user opened the link with ?uploadFallback=false
flag
- And user is on first page of cross-device flow
- Open the cross device link on mobile browsers with a malfunctioning camera or on mobile browsers that do not support getUserMedia (i.e. Safari on iOS10.3 or earlier, Chrome on iOS)
- user won't see the "use the native camera mode instead" link
- user should see
Unsupported browser
message - user should see
Restart the process on Safari
message - user should NOT be able to complete the cross-device flow successfully.
Given user opened the link with ?uploadFallback=false
flag
- And user is on first page of cross-device flow
- Open the cross device link on mobile browser without a camera
- user should be able to upload the documents from the device storage
- user should not be able to record the liveness video
- user should see
No camera detected
message - user should see
Restart the process with a different device
message - user should see the icon with the phone, screen and the red cross
(on one of the desktop browsers)
- Open link with additional GET parameter
?smsNumber=+447955555555
- Go to the document capture step
- Click on
Continue on phone
button to start cross-device flow- user should see
Continue on your phone
screen - user should see that the SMS input has been pre-filled with the number provided at the beginning
- if the number is correct the user should be able to successfully send an SMS
- if the number is invalid the user will see an error when clicking "Send link"
- user should see
(desktop and mobile browsers)
- Upload a document
- Click "Enlarge image"
- Click browser's back button while document is zoomed in
- "Check readability" text and back arrow retain the colour
- Back navigation in the browser doesn't cause any other UI changes in the SDK
33a. Check happy path flow of live document capture on mobile devices with media recorder API support
(on private mode of both Android Chrome and Safari on iOS11+ mobile browsers)
- Open link with additional GET parameter
?useLiveDocumentCapture=true
- Go through the document capture flow
- browser should ask to allow camera access
- Allow the device's camera to be used on the browser
- photo capture frame should display preview from the device's back facing camera
- Place document in front of camera so that it aligns the edges of document capture frame
- Take photo of the document with the back facing camera
- document should be captured
- loading screen might be visible if taking a long time
- confirmation screen should eventually show up containing photo that was taken
- user should be able to retake or continue with that photo
(on private mode of Google Chrome on Android and Safari on iOS11+)
- Open link with additional GET parameter
?useLiveDocumentCapture=true&uploadFallback=true
- Go through the flow to document capture
- browser should ask to enable the camera
- Accept the camera to be used on browser
- photo capture frame should display preview from camera
- Wait for 8 seconds
- A warning should pop up asking if you are having problems with the camera
- Click on "Try the basic camera mode instead"
- You should be able to take a picture with your native camera
(on one browser)
With JS SDK project open in Woopra
- Go through the normal flow for any document
- all events should be tracked
- no events should be duplicated
- Now repeat the same for cross-device; go through the flow for any document
- all events should be tracked
- no events should be duplicated
Given local .node_modules
folder is removed (not existing)
- Run
npm install
- dependencies should be installed successfully