MCPcopy Index your code
hub / github.com/ForbesLindesay/taxi-rank

github.com/ForbesLindesay/taxi-rank @2.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.1.0 ↗ · + Follow
113 symbols 267 edges 25 files 1 documented · 1% updated 6y ago★ 34320 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

taxi-rank

A super fast JSDom based Selenium Webdriver API. Write end to end tests once and run them against this super fast, headless browser built on node.js, then once those tests pass you can run them against real browsers in the cloud!

Build Status Dependency Status NPM version

Installation

npm install taxi-rank -g

Usage

In a separate terminal, run taxi-rank, then you can use cabbie (or your webdriver client of choice), to connect to this super-fast virtual driver:

import assert from 'assert';
import cabbie from 'cabbie-sync';

// connect to taxi-rank, adding {debug: true} makes cabbie log each method call.
const driver = cabbie('taxirank', {debug: true});

try {
  // navigate to a url in the currently active window
  driver.browser.activeWindow.navigateTo('http://example.com');

  // get an element, and check that its text equals some expected value
  assert.equal(
    driver.browser.activeWindow.getElement('h1').getText(),
    'Example Domain',
  );
} finally {
  // whether tests pass or fail, dispose of the driver
  driver.dispose();
}

You can find full API docs for cabbie at https://cabbiejs.org/api/ but you can use any webdriver client by simply telling it to conenct to http://localhost:9516

License

MIT

Extension points exported contracts — how you extend this code

URLData (Interface)
(no doc)
types/whatwg-url/indes.d.ts
WebdriverOptions (Interface)
(no doc)
src/WebdriverOptions.ts
WebdriverElementReference (Interface)
(no doc)
src/WebdriverElementReference.ts
BrowserOptions (Interface)
(no doc)
src/BrowserOptions.ts
WebdriverCookie (Interface)
(no doc)
src/WebdriverCookie.ts
Emitter (Interface)
(no doc)
src/eventChannel.ts
TabOptions (Interface)
(no doc)
src/TabOptions.ts
ElementList (Interface)
(no doc)
src/Webdriver.ts

Core symbols most depended-on inside this repo

register
called by 45
src/WebdriverUrlMap.ts
getElement
called by 42
src/Webdriver.ts
whenReady
called by 32
src/Tab.ts
_withSession
called by 28
src/Webdriver.ts
getText
called by 14
src/Webdriver.ts
_withElement
called by 12
src/Webdriver.ts
getAttribute
called by 7
src/Webdriver.ts
click
called by 7
src/Webdriver.ts

Shape

Method 67
Function 18
Class 14
Interface 8
Enum 6

Languages

TypeScript100%

Modules by API surface

src/Webdriver.ts69 symbols
src/Tab.ts7 symbols
src/Browser.ts7 symbols
src/eventChannel.ts4 symbols
types/whatwg-url/indes.d.ts3 symbols
test/run-test.js3 symbols
types/node-storage-shim/index.d.ts2 symbols
test/upload-test-case.js2 symbols
src/index.ts2 symbols
src/WebdriverUrlMap.ts2 symbols
test/start-server.js1 symbols
src/WebdriverTimeoutType.ts1 symbols

For agents

$ claude mcp add taxi-rank \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page