Setting up Roku apps¶
- Roku
At this point you should have configured Roku in your Suitest account.
Only
.zip
package file extension is supported.
Choosing App communication method¶
Instrumentation library¶
By selecting one of the Instrumentation library options, you will have all the Suitest features at your disposal, however, slower Roku devices or very large applications may suffer performance loss due to Roku device architecture.
Lite¶
Lite method has been optimized for slower Roku devices and very large applications, with small limitations (non-essential features) but a significant performance increase.
Comparison¶
Feature | Instrumentation library | Lite |
---|---|---|
Element repository | ||
Mouse selection tool | ✓ | - |
Page structure | ✓ | ✓ |
Search by property | ✓ | ✓ |
Suggested elements | ✓ | ✓ |
Device screen | ||
Element highlighting | ✓ | - |
Test editor | ||
Line screenshots | ✓ | ✓ |
Preview mode | ✓ | - |
Send text | ✓ | ✓ |
Set text | ✓ | - |
General | ||
Console logs | ✓ | ✓ |
Instrumentation | required (automatic/manual) | none |
Suitestify (network requests) | ✓ | ✓ |
Video URL property | ✓ | - |
Xpath support | limited | full |
Using Instrumentation library method¶
When using Instrumentation library as an app communication method on Roku you have two choices, either have the Instrumentation library automatically injected into the package or manually insert it into you application. Then create a build and upload it to Suitest.
Automated injection¶
If you want to use the Automated injection of our Instrumentation library, please make sure that the application has a structure based on the official app creation tutorial. Otherwise, the automated injection may fail.
Suitest can automatically inject the library into your application package without your interaction. Select Instrumentation library - Automated injection as App communication method before uploading the app package under the App details tab.
If the process fails, please follow the manual instrumentation guide below.
If you have already instrumented your app package manually, please do not upload it while using the Instrumentation library - Automated injection method selected.
Manual insertion¶
Our Instrumentation library must be inserted into the main scene of the application. In your main scene add the following:
-
Add a status change observer to initialize our library and to setup an
appID
. You can find theappID
inside your application configuration (below the App communication method selection - Manual insertion needs to be selected).sub OnSuitestLibStatusChanged(event as object) if event.getData() = "ready" SuitestIL = CreateObject("roSGNode", "SuitestInstrumentationLib:main") SuitestIL.SetField("app_id", "APP00000-ID00-4046-8e09-EXAMPLE123") end if end sub
-
Create a
ComponentLibrary
with the instrumentation library URL in theuri
field above your initialization code.sub init() SuitestLib = CreateObject("roSGNode", "ComponentLibrary") SuitestLib.ObserveField("loadStatus", "OnSuitestLibStatusChanged") SuitestLib.SetField("uri", "http://il.suite.st/app/roku.zip") m.top.InsertChild(SuitestLib, 0) ' ...app init code
Instrumentation library in production
When inserting the Suitest instrumentation library, ensure you do not accidentally release the app to production with the Suitest code included. Suitest code is intended for testing and could impact the user experience of your application.
Using Lite method¶
Roku applications do not need to be instrumented with the Suitest instrumentation library when using Lite app communication method. Just create a build and upload it to Suitest.
Uploading package to Suitest¶
Inside your application configuration, a package can be uploaded under the App details tab. Suitest will automatically install or update the package on your devices as necessary when you try running the app there.
If you use Suitest Network API you can also send the package with an API request. Suitest will automatically install or update the package on the device as necessary when you try running the app on this device.
Setting up Suitestify¶
- On the application settings page you will need to enable Suitestify by checking the Enable Suitestify checkbox.
- Make sure application domain name is listed in the Suitestify settings. For example, lets assume that the app is hosted at https://example.com therefore the domain added to the domain list is example.com.