Skip to content
Node.js client for test.ai classifier server
JavaScript
Branch: master
Clone or download
Latest commit 8fc5ce5 Dec 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
proto @ 990d986 initial port plus proto submodule Dec 20, 2019
test update based on new structure Dec 20, 2019
.eslintrc initial port plus proto submodule Dec 20, 2019
.gitignore initial port plus proto submodule Dec 20, 2019
.gitmodules
README.md point to correct location in readme Dec 20, 2019
gulpfile.js
index.js initial port plus proto submodule Dec 20, 2019
package-lock.json
package.json 1.1.0 Dec 20, 2019

README.md

Test.ai Classifier - Node.js + WebdriverIO Client

The code in this directory defines a client library for use with the gRPC-based Test.ai classifier server.

Installation & Setup

npm install test-ai-classifier-client

Usage

This client exposes as the default export a ClassifierClient class, which can be instantiated as follows:

const ClassifierClient = require('test-ai-classifier-client');
const client = new ClassifierClient({host, port})

(Where host and port refer to the address and port the server is running on).

The client exposes two instance methods:

  1. classifyElements takes an object parameter with 4 keys:

    1. labelHint: the label you wish to find matching elements with (see lib/labels.js in this repo).
    2. elementImages: an object whose keys are ids, and whose values are Buffer objects containing raw binary data of PNG images.
    3. confidenceThreshold: (optional) the confidence below which not to return matches (0.0 - 1.0)
    4. allowWeakerMatches: (optional) whether or not to return a match for elements that did match the label, but for whom another label had a higher confidence.

    The return value of this method is an object whose keys are the same ids you sent in, and whose values are classification objects with the following keys:

    1. label: the matching label
    2. confidence: the confidence for the matched label
    3. confidenceForLabel: the confidence for the label given in labelHint
  2. findElementsMatchingLabel is a helper function for use with Selenium tests (for Appium use the Appium plugin as described in the main README for this repo). It takes an object parameter with 4 keys: all of the same keys as in classifyElements except for elementImages which is replaced by:

    1. driver: the WebdriverIO driver object The return value of this method is an array of WebdriverIO element objects that match.

For a concrete example, see test/rpc-e2e-specs.js

Development

Tests expect a running Classifier server on port 50051.

You can’t perform that action at this time.