55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
# testcafe-browser-tools
|
||
|
||
[![Build Status](https://travis-ci.org/DevExpress/testcafe-browser-tools.svg)](https://travis-ci.org/DevExpress/testcafe-browser-tools)
|
||
|
||
TestСafe Browser Tools is an utility library for performing platform-dependent actions on browser windows.
|
||
Working with browsers is specific for each operating system and requires native code to deal with. In order to provide painless and simple installation, this package encapsulates pre-built binaries for all supported platforms and JS-wrappers around them. This helps end-users avoid running *post-npm-install* build actions.
|
||
|
||
# Build Process
|
||
To build native binaries from source files, execute the gulp task corresponding to your operating system:
|
||
```
|
||
'buildWin'
|
||
'buildMac'
|
||
'buildLinux'
|
||
```
|
||
Note that the application for a particular platform must be built on a machine with the same platform.
|
||
|
||
The *bin* directory contains pre-built native binaries. Consider using them if your contribution does not affect the native modules.
|
||
|
||
# Install
|
||
|
||
```
|
||
$ npm install testcafe-browser-tools
|
||
```
|
||
# API Reference
|
||
|
||
**Important note**: To identify the web browser window, most of the provided functions use its title.
|
||
This title matches the web page's `document.title` in most of the browsers.
|
||
However, Microsoft Edge truncates the window title to the hostname if `document.title` contains only a URL
|
||
( e.g. `document.title = 'http://localhost:1337/page'` gives `localhost` in the window title).
|
||
|
||
So, you need to add some characters before the URL in order to bring it to the window title:
|
||
```js
|
||
document.title = 'title: ' + document.location.toString()
|
||
```
|
||
For API reference, see the [API](API.md) document.
|
||
|
||
# Testing
|
||
|
||
To run automated tests:
|
||
```
|
||
$ npm test
|
||
```
|
||
Since the module functionality depends on browsers available on a testing machine and you cannot predict expected returned values for some functions, the automated tests cover only a part of the functionality.
|
||
To test all the functions provided by the module, use the playground. To run it, execute the gulp task corresponding to your operating system:
|
||
```
|
||
$ gulp runPlaygroundWin
|
||
$ gulp runPlaygroundMac
|
||
$ gulp runPlaygroundLinux
|
||
```
|
||
This will open the Playground web page at [http://localhost:1334/](http://localhost:1334/), where you can manually check if the functions work correctly.
|
||
|
||
# Author
|
||
|
||
Developer Express Inc.([http://devexpress.com](http://devexpress.com))
|