Overview

An RDK-V Emulator App Manager basically focuses on emulating the features such as: remote control unit, RDK services api validation's, testing automation, virtual box manager, application manager etc. and adding many more features to provide support to application developers and testers to make there life easier with the new RDK-V Emulator App Manager. It comes in a form of installer package that can be installed on desktop pc (Linux) and launched.

Prerequisite

Emulator app manager has been developed and tested on below environment

Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS.

Electron (formerly known as Atom Shell) is a free and open-source software framework developed and maintained by GitHub. It allows for the development of desktop GUI applications using web technologies: it combines the Chromium rendering engine and the Node. js runtime.

Google Chrome is a cross-platform web browser developed by Google.

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.

V8 is Google's open source high-performance JavaScript and WebAssembly engine, written in C++. It is used in Chrome and in Node.js, among others.

An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs.

          Oracle VM VirtualBox is cross-platform virtualization software.

RDKV Emulator Build Steps

Follow below link/steps to build rdkv emulator dunfell image along with rdk services

Source code setup and Run application

Follow below steps to run application on host pc and create installer package

            $ git clone https://code.rdkcentral.com/r/rdk/devices/intel-x86-pc/emulator/appmanager

            $ cd RDKVEmulatorAppManager

            $ npm install

            $ npm run start    

Create installer package

Follow below steps to create installer package for linux           

             $ sudo npm install -g electron-packager

             $ sudo npm install -g electron-installer-debian

$ electron-packager . --platform linux --arch x64 --out dist --overwrite

$ electron-installer-debian --src dist/emulatormanager-linux-x64/ --arch amd64 --config config.json

Installation

Pre-Build Download

Steps to install

Step 1: Double click on downloaded installer deb package

Step 2: Default Linux software install window will appear with install button, click on install

Step 3: Authentication window will appear, give user password and press Authenticate

Step 3: Progress bar will be displayed, on successful progress bar will  become 100% filled

or

You can use below command to install package into linux

$ sudo dpkg -i rdkv-emulatormanager_1.0.0_amd64.deb

You can use below command to uninstall/remove package from linux

$ sudo dpkg --remove rdkv-emulatormanager

On successful installation user/developer will be able to launch emulator app manager ui by selecting the RDK-V emulator icon from apps  

Note: RDK virtual remote can be launched from emulator app manager > remote manager (Prerequisite: RDK virtual remote should be installed, refer link: RDK-V Virtual Remote ). 

Features

Emulator IP Address Configuration

VM Manager



App Manager

Follow below steps to configure your workspace in VS Code IDE

Api Manager

Remote Manager

Prerequisite: RDK virtual remote should be installed, refer link: RDK-V Virtual Remote

Help

FAQ's

1. How to set rpi or emulator ip in emulator manager app?
    We can provide target machine  ip address in ip box which appears on right-top side.

2. How to add image in vm manager?

    Select "Install image" option from vm manager tab, then select "Add image" button then we need to select the image from the file browser box.

3. How to install OS in oracle virtual machine ?
    Select "Install image" option from vm manager tab, then select image which is appear on above install button and provide instance name (*) then select install button. Selected image will be installed on virtual machine.

4. How to delete image from list?
    Select "Install image" option from vm manager tab and then select delete option.

5. How to boot virtual machine OS?

    Select "Show Installed OS List" option from vm manager tab and then select installed os from the list and then select start button.

6.What is use of "Launch ResidentApp" option?
   "Launch ResidentApp" option allow to launch residentapp from host machine to target machine.

    Follow below steps to launch resident from host machine to target machine.

  1. Select "Open IDE" option from app manager tab.
  2. Select source code then open source code.
  3. Press "ctlr+~" key to open vs code terminal.
  4. Run lng run command.
  5. Select "Launch ResidentApp" option from app manager tab.

7. How to execute test script?
    Select  "Automate Test" option from app manager tab and then select "test script" from list and then select submit button.

8. What is use of Add Script option?
   Add script option allow to create test script and add in the list.

9. What is use of delete script option?

    We can remove the selected script from the list by using "Delete script" option.

10. How to test api from emulator manager/api manager?

      Select api from "Api list"  result will be appear above "Api list". we can modify Api params  in "Selected Api params" text fields and then select "Validate Api" button to make Api request.

11. What is use of "Validate all Api" option?
      Select apifrom "Api list"  result will be appear above "Api list". we can modify Api params  in "Selected Api params" text fields and then select "Validate Api" button to make Api request.

12. How to launch virtual remote from Emulator manager?
      Prerequisite: RDK virtual remote should be installed, refer link: RDK-V Virtual Remote

      Select  "Use this " option from remote manager tap and then enter R-pi or Emulator ip address in remote app. Ip address will appear in bottom. After enter the ip address need to hit enter key. 

In progress Tasks

Resources

For the complete documentation on electronjs refer link:

For the complete documentation on RDK Services please refer links: