Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: BOS language

BrightSign users running OS 8.3.22 can now automate browser testing using the Selenium WebDriver and roHtmlWidget. Previously, Selenium could not establish a connection to BrightSign devices due to version number incompatibility.

The Selenium WebDriver can connect to roHtmlWidget through the remote inspector and drive test cases. To establish this, enable a remote debugging port on roHtmlWidget:

roHtmlWidget creation
Code Block
languagevb
rect=CreateObject("roRectangle", 0, 0, width, height)
config = {
	inspector_server: {port: 6813}
	url: "about:blank"
}
htmlWidget = CreateObject("roHtmlWidget", rect, config)


The Chrome WebDriver and BrightSign Chromium version must match. Chromium 69 is built in to BrightSign OS into BrightSignOS 8.3, so specify ChromeDriver 2.41.0 in package.json:

package.json
Code Block
languagejs
{
  "dependencies": {
    "chromedriver": "2.41.0",
    "selenium-webdriver": "*"
  }
}


The code block below connects to the remote inspector and loads a web page, showing how Selenium connects to a player and sends commands. Remote access (which is an optional parameter) is enabled here:

main.js
Code Block
languagejs
// main.js
var chromeDriver = require('chromedriver'), // Auto install ChromeDriver
    webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

var chrome = require("selenium-webdriver/chrome");
var options = new chrome.Options();
options.options_["debuggerAddress"] = "172.30.1.192:6813"; // Replace this with your own remote ip/port
var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .setChromeOptions(options)
    .build();

function start() {
  driver.get('https://www.brightsign.biz'); 
  setTimeout(function () {console.log('finished');}, 10000);
}

process.on('SIGTERM', function shutdown() {
  driver.quit();
});

start();

The selenium_test.tar.gz file below is a sample application. It should be extracted and installed on a desktop PC using npm install:

View file
nameselenium_test.tar.gz

This autorun.brs must be installed on the BrightSign player:

View file
nameautorun.brs