From cdd43cdbe95cc09483d733bca75c6cfdd30f84be Mon Sep 17 00:00:00 2001 From: andrecontaazul Date: Wed, 23 Jul 2014 19:18:54 -0300 Subject: [PATCH 0001/1133] docs(install): fix typo for finding java version --- docs/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install.md b/docs/install.md index 189981f5d..947074c32 100644 --- a/docs/install.md +++ b/docs/install.md @@ -12,7 +12,7 @@ Node.js comes with the Protractor npm package, which you can use to install Prot **JDK** -To run the Selenium Server, you will need to have Java Development Kit (JDK) installed. Check this by running `java --version` from the command line. +To run the Selenium Server, you will need to have Java Development Kit (JDK) installed. Check this by running `java -version` from the command line. Installing Protractor --------------------- From bb243674da881be2ed384e5c0777882b0f695337 Mon Sep 17 00:00:00 2001 From: Julie Ralph Date: Thu, 24 Jul 2014 11:18:59 -0700 Subject: [PATCH 0002/1133] docs(browser-setup): clarifications and style updates --- docs/browser-setup.md | 133 +++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 66 deletions(-) diff --git a/docs/browser-setup.md b/docs/browser-setup.md index 8239f172d..298565761 100644 --- a/docs/browser-setup.md +++ b/docs/browser-setup.md @@ -1,11 +1,11 @@ -Setting up your Browser +Setting Up Your Browser ======================= -Protractor is agnostic to how you set up your browser - it wraps WebDriverJS, so all browser setup for WebDriverJS applies. This doc serves as a collection for information surrounding how to set up browsers. +Protractor works with [Selenium WebDriver](http://docs.seleniumhq.org/docs/03_webdriver.jsp), a browser automation framework. Selenium WebDriver supports several browser implementations or [drivers](http://docs.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-s-drivers) which are discussed below. Browser Support --------------- -Protractor uses WebDriver, so Protractor support for a particular browser is tied to the capabilities available in the Driver for that browser. Notably, Protractor requires the driver to implement asynchronous script execution. +Protractor support for a particular browser is tied to the capabilities available in the driver for that browser. Notably, Protractor requires the driver to implement asynchronous script execution. Protractor supports the two latest major versions of Chrome, Firefox, Safari, and IE. @@ -26,14 +26,15 @@ Protractor supports the two latest major versions of Chrome, Firefox, Safari, an Configuring Browsers -------------------- -In your Protractor configuration file, all browser set up is done within the `capabilities` JSON object. This is passed directly to the WebDriver Builder. +In your Protractor config file (see [referenceConf.js](/docs/referenceConf.js)), all browser setup is done within the `capabilities` object. This object is passed directly to the WebDriver builder ([builder.js](https://code.google.com/p/selenium/source/browse/javascript/webdriver/builder.js)). -See [the DesiredCapabilities Docs](https://code.google.com/p/selenium/wiki/DesiredCapabilities) for full information on which properties are available. -Switching to a browser besides Chrome -------------------------------------- +See [DesiredCapabilities](https://code.google.com/p/selenium/wiki/DesiredCapabilities) for full information on which properties are available. + +Using Browsers Other Than Chrome +-------------------------------- -Simply set a different browser name in the capabilites object +To use a browser other than Chrome, simply set a different browser name in the capabilities object. ```javascript capabilities: { @@ -41,12 +42,12 @@ capabilities: { } ``` -You may need to install a separate binary to run another browser, such as IE or Android. +You may need to install a separate binary to run another browser, such as IE or Android. For more information, see [SeleniumHQ Downloads](http://docs.seleniumhq.org/download/). -Adding Chrome specific options +Adding Chrome-Specific Options ------------------------------ -Chrome options are nested in the `chromeOptions` object. A full list of options is at [the chromedriver site](https://sites.google.com/a/chromium.org/chromedriver/capabilities). For example, to show an FPS counter in the upper right, your configuration would look like this: +Chrome options are nested in the `chromeOptions` object. A full list of options is at the [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/capabilities) site. For example, to show an FPS counter in the upper right, your configuration would look like this: ```javascript capabilities: { @@ -56,12 +57,12 @@ capabilities: { } }, ``` -If running with chromeOnly and chromeOptions together, chromeOptions.args and chromeOptions.extensions are required due to [Issue 6627](https://code.google.com/p/selenium/issues/detail?id=6627&thanks=6627&ts=1385488060) of selenium-webdriver currently(@2.37.0). So in order to avoid the issue, you may simply set them(or one of them) to an empty array. +If running with `chromeOnly` and `chromeOptions` together, chromeOptions.args and chromeOptions.extensions are required due to [Issue 6627](https://code.google.com/p/selenium/issues/detail?id=6627&thanks=6627&ts=1385488060) of selenium-webdriver currently(@2.37.0). So in order to avoid the issue, you may simply set them(or one of them) to an empty array. -Testing against multiple browsers +Testing Against Multiple Browsers --------------------------------- -If you would like to test against multiple browsers at once, use the multiCapabilities configuration option. +If you would like to test against multiple browsers, use the `multiCapabilities` configuration option. ```javascript multiCapabilities: [{ @@ -71,15 +72,15 @@ multiCapabilities: [{ }] ``` -Protractor will run tests in parallel against each set of capabilities. Please note that if multiCapabilities is defined, the runner will ignore the `capabilities` configuration. +Protractor will run tests in parallel against each set of capabilities. Please note that if `multiCapabilities` is defined, the runner will ignore the `capabilities` configuration. -How to set up Protractor with Appium - Android/Chrome +Setting Up Protractor with Appium - Android/Chrome ------------------------------------- -###### Set up +###### Setup * Install Java SDK (>1.6) and configure JAVA_HOME (Important: make sure it's not pointing to JRE). -* Follow http://spring.io/guides/gs/android/ to install and set up Android developer environment. Do not set up Android Virtual Device as instructed here -* From commandline, ```android avd``` and then install an AVD, taking note of the following +* Follow http://spring.io/guides/gs/android/ to install and set up Android developer environment. Do not set up Android Virtual Device as instructed here. +* From commandline, ```android avd``` and then install an AVD, taking note of the following: * Start with an ARM ABI * Enable hardware keyboard: ```hw.keyboard=yes``` * Enable hardware battery: ```hw.battery=yes``` @@ -109,24 +110,24 @@ Available Android Virtual Devices: Tag/ABI: default/armeabi-v7a Skin: WXGA800-7in ``` -* Follow http://ant.apache.org/manual/index.html to install ant and set up the environment +* Follow http://ant.apache.org/manual/index.html to install ant and set up the environment. * Follow http://maven.apache.org/download.cgi to install mvn (Maven) and set up the environment. - * NOTE: Appium suggests installing Maven 3.0.5 (I haven't tried later versions, but 3.0.5 works for sure) -* Install Appium using node ```npm install -g appium```. Make sure you don't install as sudo or else Appium will complain - * You can do this either if you installed node without sudo, or you can chown the global node_modules lib and bin directories -* Start emulator manually (at least the first time) and unlock screen + * NOTE: Appium suggests installing Maven 3.0.5 (I haven't tried later versions, but 3.0.5 works for sure). +* Install Appium using node ```npm install -g appium```. Make sure you don't install as sudo or else Appium will complain. + * You can do this either if you installed node without sudo, or you can chown the global node_modules lib and bin directories. +* Start emulator manually (at least the first time) and unlock screen. ```shell > emulator -avd LatestAndroid ``` -* Your devices should show up under adb now +* Your devices should show up under adb now: ```shell > adb devices List of devices attached emulator-5554 device ``` -* If the AVD does not have chrome (and it probably won't if it just created), you need to install it +* If the AVD does not have chrome (and it probably won't if it just created), you need to install it: * You can get v34.0.1847.114 from http://www.apk4fun.com/apk/1192/ * Once you download the apk, install to your AVD as such: @@ -135,21 +136,21 @@ emulator-5554 device 2323 KB/s (30024100 bytes in 12.617s) Success ``` -* If you check your AVD now, it should have Chrome +* If you check your AVD now, it should have Chrome. -###### Running test -* Ensure app is running if testing local app (Skip if testing public website) +###### Running Tests +* Ensure app is running if testing local app (Skip if testing public website): ```shell > ./scripts/web-server.js Starting express web server in /workspace/protractor/testapp on port 8000 ``` -* If your AVD isn't already started from the setup, start it now +* If your AVD isn't already started from the setup, start it now: ```shell > emulator -avd LatestAndroid ``` -* Start Appium +* Start Appium: ```shell > appium @@ -159,7 +160,7 @@ info: socket.io started ``` *Note Appium listens to port 4723 instead of 4444* -* Configure protractor, i.e. +* Configure protractor: ```javascript exports.config = { @@ -181,29 +182,29 @@ exports.config = { baseUrl: 'http://10.0.2.2:' + (process.env.HTTP_PORT || '8000'), }; ``` -*note three things:* - -under capabilities: browserName is '', device is 'android', and app is 'chrome' - -baseUrl is 10.0.2.2 instead of localhost because it is used to access the localhost of the host machine in the android emulator - -selenium address is using port 4723 +*Note the following:* + - under capabilities: browserName is '', device is 'android', and app is 'chrome' + - baseUrl is 10.0.2.2 instead of localhost because it is used to access the localhost of the host machine in the android emulator + - selenium address is using port 4723 -How to set up Protractor with Appium - iOS/Safari +Setting Up Protractor with Appium - iOS/Safari ------------------------------------- -###### Set up +###### Setup * Install Java SDK (>1.6) and configure JAVA_HOME (Important: make sure it's not pointing to JRE). -* Follow http://ant.apache.org/manual/index.html to install ant and set up the environment +* Follow http://ant.apache.org/manual/index.html to install ant and set up the environment. * Follow http://maven.apache.org/download.cgi to install mvn (Maven) and set up the environment. - * NOTE: Appium suggests installing Maven 3.0.5 (I haven't tried later versions, but 3.0.5 works for sure) -* Install Appium using node ```npm install -g appium```. Make sure you don't install as sudo or else Appium will complain - * You can do this either if you installed node without sudo, or you can chown the global node_modules lib and bin directories + * NOTE: Appium suggests installing Maven 3.0.5 (I haven't tried later versions, but 3.0.5 works for sure). +* Install Appium using node ```npm install -g appium```. Make sure you don't install as sudo or else Appium will complain. + * You can do this either if you installed node without sudo, or you can chown the global node_modules lib and bin directories. -###### Running test -* Ensure app is running if testing local app (Skip if testing public website) +###### Running Tests +* Ensure app is running if testing local app (Skip if testing public website): ```shell > ./scripts/web-server.js Starting express web server in /workspace/protractor/testapp on port 8000 ``` -* Start Appium +* Start Appium: ```shell > appium @@ -211,9 +212,9 @@ info: Welcome to Appium v1.0.0-beta.1 (REV 6fcf54391fb06bb5fb03dfcf1582c84a1d983 info: Appium REST http interface listener started on 0.0.0.0:4723 info: socket.io started ``` -*Note Appium listens to port 4723 instead of 4444* +*Note: Appium listens to port 4723 instead of 4444.* -* Configure protractor, i.e. +* Configure protractor: iPhone: ```javascript @@ -258,17 +259,17 @@ exports.config = { }; ``` -*note three things:* - -note capabilities - -baseUrl is localhost (not 10.0.2.2) - -selenium address is using port 4723 +*Note the following:* + - note capabilities + - baseUrl is localhost (not 10.0.2.2) + - selenium address is using port 4723 -How to set up Protractor with Selendroid +Setting Up Protractor with Selendroid ------------------------------------- -###### Set up +###### Setup * Install Java SDK (>1.6) and configure JAVA_HOME (Important: make sure it's not pointing to JRE). -* Follow http://spring.io/guides/gs/android/ to install and set up Android developer environment. Do not set up Android Virtual Device as instructed here -* from commandline, 'android avd' and then follow Selendroid's recommendation (http://selendroid.io/setup.html#androidDevices). Take note of the emulator accelerator. Here's an example: +* Follow http://spring.io/guides/gs/android/ to install and set up Android developer environment. Do not set up Android Virtual Device as instructed here. +* From commandline, 'android avd' and then follow Selendroid's recommendation (http://selendroid.io/setup.html#androidDevices). Take note of the emulator accelerator. Here's an example: ```shell > android list avd @@ -281,22 +282,22 @@ Available Android Virtual Devices: Skin: WVGA800 ``` -###### Running test -* Ensure app is running if testing local app (Skip if testing public website) +###### Running Tests +* Ensure app is running if testing local app (Skip if testing public website): ```shell > ./scripts/web-server.js Starting express web server in /workspace/protractor/testapp on port 8000 ``` -* Start emulator manually (at least the first time) +* Start emulator manually (at least the first time): ```shell > emulator -avd myAvd HAX is working and emulator runs in fast virt mode ``` -*note the last line that tells you the emulator accelerator is running* +*Note: The last line that tells you the emulator accelerator is running.* * Start selendroid ```shell @@ -304,13 +305,13 @@ HAX is working and emulator runs in fast virt mode ... ``` -* Once selendroid is started, you should be able to go to "http://localhost:4444/wd/hub/status" and see your device there, i.e. +* Once selendroid is started, you should be able to go to "http://localhost:4444/wd/hub/status" and see your device there: ```javascript {"value":{"os":{"name":"Mac OS X","arch":"x86_64","version":"10.9.2"},"build":{"browserName":"selendroid","version":"0.9.0"},"supportedDevices":[{"emulator":true,"screenSize":"WVGA800","avdName":"Hank","androidTarget":"ANDROID19"}],"supportedApps":[{"mainActivity":"io.selendroid.androiddriver.WebViewActivity","appId":"io.selendroid.androiddriver:0.9.0","basePackage":"io.selendroid.androiddriver"}]},"status":0} ``` -* Configure protractor, i.e. +* Configure protractor: ```javascript exports.config = { @@ -330,13 +331,13 @@ exports.config = { }; ``` -*note two things:* - -browserName is 'android' - -baseUrl is 10.0.2.2 instead of localhost because it is used to access the localhost of the host machine in the android emulator +*Note the following:* + - browserName is 'android' + - baseUrl is 10.0.2.2 instead of localhost because it is used to access the localhost of the host machine in the android emulator -PhantomJS -------------------------------------- +Setting up PhantomJS +-------------------- In order to test locally with [PhantomJS](http://phantomjs.org/), you'll need to either have it installed globally, or relative to your project. For global install see the [PhantomJS download page](http://phantomjs.org/download.html). For relative install run: `npm install --save-dev phantomjs`. Add phantomjs to the driver capabilities, and include a path to the binary if using local installation: From e398c1ebdc4606ba01b477a5ffc2b1a696806acf Mon Sep 17 00:00:00 2001 From: Julie Ralph Date: Thu, 24 Jul 2014 16:12:12 -0700 Subject: [PATCH 0003/1133] docs(faq): link to karma --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 67236c09a..441591069 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -7,7 +7,7 @@ My tests time out in Protractor, but everything's working fine when running manu There are several ways that Protractor can time out - see the [Timeouts](/docs/timeouts.md) reference for full documentation. -Why both Karma and Protractor? When do I use which? +What's the difference between [Karma](karma-runner.github.io) and Protractor? When do I use which? --------------------------------------------------- Karma is a great tool for unit testing, and Protractor is intended for From 3d60689b423749686973227f4b26cbb494f60b66 Mon Sep 17 00:00:00 2001 From: Julie Ralph Date: Thu, 24 Jul 2014 16:13:09 -0700 Subject: [PATCH 0004/1133] docs(faq): fix link --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 441591069..d12d7858b 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -7,7 +7,7 @@ My tests time out in Protractor, but everything's working fine when running manu There are several ways that Protractor can time out - see the [Timeouts](/docs/timeouts.md) reference for full documentation. -What's the difference between [Karma](karma-runner.github.io) and Protractor? When do I use which? +What's the difference between [Karma](http://karma-runner.github.io) and Protractor? When do I use which? --------------------------------------------------- Karma is a great tool for unit testing, and Protractor is intended for From fcd973b8f8b0164bd44c4438905bf3e54b2815bc Mon Sep 17 00:00:00 2001 From: Julie Ralph Date: Tue, 29 Jul 2014 11:21:10 -0700 Subject: [PATCH 0005/1133] docs(various): more documentation reorg and rewrite --- docs/api-overview.md | 93 +++++++++++++++++++++++++ docs/browser-setup.md | 2 +- docs/components.png | Bin 0 -> 64597 bytes docs/debugging.md | 66 +++++++++--------- docs/faq.md | 12 ++-- docs/getting-started.md | 16 +++++ docs/infrastructure.md | 40 +++++++++++ docs/install.md | 45 ------------ docs/locators.md | 3 +- docs/overview.md | 146 --------------------------------------- docs/page-objects.md | 44 ++++++++---- docs/processes.png | Bin 0 -> 157495 bytes docs/protractor-setup.md | 26 +++++++ docs/referenceConf.js | 36 +++++----- docs/server-setup.md | 79 +++++++++++++++++++++ docs/system-setup.md | 11 +++ docs/timeouts.md | 10 ++- docs/toc.md | 18 ++--- docs/tutorial.md | 12 ++-- 19 files changed, 376 insertions(+), 283 deletions(-) create mode 100644 docs/api-overview.md create mode 100644 docs/components.png create mode 100644 docs/getting-started.md create mode 100644 docs/infrastructure.md delete mode 100644 docs/install.md delete mode 100644 docs/overview.md create mode 100644 docs/processes.png create mode 100644 docs/protractor-setup.md create mode 100644 docs/server-setup.md create mode 100644 docs/system-setup.md diff --git a/docs/api-overview.md b/docs/api-overview.md new file mode 100644 index 000000000..de852a548 --- /dev/null +++ b/docs/api-overview.md @@ -0,0 +1,93 @@ + +Working with the Protractor API +=============================== + +Protractor needs two files to run, the test or spec file, and the configuration file. + +Spec files +========== + +Protractor tests are written using the syntax of your test framework, for example [Jasmine](http://jasmine.github.io/), and the [Protractor API](/docs/api.md). + +Example Spec File +----------------- +This simple script ([example_spec.js](/example/example_sped.js)) tests the 'The Basics' example on the [angularjs.org](http://www.angularjs.org) homepage. + +```js +describe('angularjs homepage', function() { + it('should greet the named user', function() { + // Load the AngularJS homepage. + browser.get('http://www.angularjs.org'); + + // Find the element with ng-model matching 'yourName' - this will + // find the element - and then + // type 'Julie' into it. + element(by.model('yourName')).sendKeys('Julie'); + + // Find the element with binding matching 'yourName' - this will + // find the

Hello {{yourName}}!

element. + var greeting = element(by.binding('yourName')); + + // Assert that the text element has the expected value. + // Protractor patches 'expect' to understand promises. + + expect(greeting.getText()).toEqual('Hello Julie!'); + }); +}); +``` + +Global Variables +---------------- + +Protractor exports these global variables to your spec (test) file: + + - `browser` - A wrapper around an instance of WebDriver, used for navigation and page-wide information. The `browser.get` method loads a page. Protractor expects Angular to be present on a page, so it will throw an error if the page it is attempting to load does not contain the Angular library. (If you need to interact with a non-Angular page, you may access the wrapped webdriver instance directly with `browser.driver`). + + - `element` - A helper function for finding and interacting with DOM elements on the page you are testing. The `element` function searches for an element on the page. It requires one parameter, a locator strategy for locating the element. See [Using Locators](/docs/locators.md) for more information. See Protractor's findelements test suite ([elements_spec.js](/spec/basic/elements_spec.js)) for more examples. + + - `by` - A collection of element locator strategies. For example, elements can be found by CSS selector, by ID, or by the attribute they are bound to with ng-model. See [Using Locators](/docs/locators.md). + + - `protractor` - The Protractor namespace which wraps the WebDriver namespace. Contains static variables and classes, such as `protractor.Key` which enumerates the codes for special keyboard signals. + + +Config Files +============ + +The configuration file tells Protractor how to set up the Selenium Server, which tests to run, how to set up the browsers, and which test framework to use. The configuration file can also include one or more global settings. + +Example Config File +------------------- + +A simple configuration ([conf.js](/example)) is shown below. +```js +// An example configuration file +exports.config = { + // The address of a running selenium server. + seleniumAddress: 'http://localhost:4444/wd/hub', + + // Capabilities to be passed to the webdriver instance. + capabilities: { + 'browserName': 'chrome' + }, + + // Spec patterns are relative to the configuration file location passed + // to proractor (in this example conf.js). + // They may include glob patterns. + specs: ['example-spec.js'], + + // Options to be passed to Jasmine-node. + jasmineNodeOpts: { + showColors: true, // Use colors in the command line report. + } +}; +``` + +Reference Config File +--------------------- + +The [reference config file](/docs/referenceConf.js) file provides explanations for all of the Protractor configuration options. Default settings include the standalone Selenium Server, the Chrome browser, and the Jasmine test framework. Additional information about various configuration options is available here: + + - [Setting Up the Selenium Server](/docs/server-setup.md) + - [Setting Up the Browser](/docs/browser-setup.md) + - [Choosing a Framework](/docs/frameworks.md) + - [Using Page Objects to Organize Tests](/docs/page-objects.md) diff --git a/docs/browser-setup.md b/docs/browser-setup.md index 298565761..16bea4ef3 100644 --- a/docs/browser-setup.md +++ b/docs/browser-setup.md @@ -1,4 +1,4 @@ -Setting Up Your Browser +Setting Up the Browser ======================= Protractor works with [Selenium WebDriver](http://docs.seleniumhq.org/docs/03_webdriver.jsp), a browser automation framework. Selenium WebDriver supports several browser implementations or [drivers](http://docs.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-s-drivers) which are discussed below. diff --git a/docs/components.png b/docs/components.png new file mode 100644 index 0000000000000000000000000000000000000000..a8107f6d280b9b5481ab394d4126da96b350935c GIT binary patch literal 64597 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 XB;E-rDR?fN00000NkvXXu0mjfcXKy` literal 0 HcmV?d00001 diff --git a/docs/debugging.md b/docs/debugging.md index 4bf1cf8c0..f86d78855 100644 --- a/docs/debugging.md +++ b/docs/debugging.md @@ -1,40 +1,38 @@ Debugging Protractor Tests ========================== -End to end tests can be difficult to debug because they depend on an entire +End-to-end tests can be difficult to debug because they depend on an entire system, may depend on prior actions (such as log-in), and may change the -state of the application they're testing. Webdriver tests in particular -can be difficult to debug because long error messages and the separation -between the browser and the process running the test. This document contains -advice on what to look for and how Protractor can help. +state of the application they're testing. WebDriver tests in particular +can be difficult to debug because of long error messages and the separation +between the browser and the process running the test. -Types of failure +Types of Failure ---------------- -Protractor comes with [examples of failing tests](https://github.com/angular/protractor/blob/master/debugging/failure_spec.js). -To run, start up the test application and a selenium server, and run +Protractor comes with examples of failing tests ([failure_spec.js](https://github.com/angular/protractor/blob/master/debugging/failure_spec.js)). +To run, start up the test application and a Selenium Server, and run the command below. Then look at all the stack traces. ``` protractor debugging/failureConf.js ``` -then look at all the pretty stack traces! - This test suite shows various types of failure: -- Webdriver throws an error. When a command cannot be completed, for example - an element is not found, webdriver throws an error. + +- WebDriver throws an error - When a command cannot be completed, for example + an element is not found. - Protractor will fail when it cannot find the Angular library on a page. - If your test needs to interact with a non-angular page, access the webdriver + If your test needs to interact with a non-angular page, access the WebDriver instance directly with `browser.driver`. -- An expectation failure. This shows what a normal expectation failure looks +- Expectation Failure - Shows what a normal expectation failure looks like. -Pausing to debug +Pausing to Debug ---------------- Protractor allows you to pause your test at any point and interact with the -browser. To do this insert `browser.debugger();` into your test where you wish -to break. +browser. To do this insert `browser.debugger();` into your test where you want +to break: ```javascript it('should fail to find a non-existent element', function() { @@ -51,13 +49,13 @@ it('should fail to find a non-existent element', function() { }); ``` -Then run the test in debug mode +Then run the test in debug mode: ``` protractor debug debugging/failureConf.js ``` -This uses the [node debugger](http://nodejs.org/api/debugger.html). Enter +This example uses the [node debugger](http://nodejs.org/api/debugger.html). Enter `c` to start execution and continue after the breakpoint. We use `browser.debugger();` instead of node's `debugger;` statement so that @@ -82,35 +80,37 @@ used from the browser's console. ``` -Setting up WebStorm for debugging +Setting Up WebStorm for Debugging --------------------------------- -1. Open Run/Debug Configurations dialog -2. Add new Node.js configuration -3. On Configuration tab set: +To set up WebStorm for Protractor, do the following: + +1. Open the Run/Debug Configurations dialog +2. Add new Node.js configuration. +3. On the Configuration tab set: - **Node Interpreter**: path to node executable - **Working directory**: your project base path - **JavaScript file**: path to Protractor cli.js file (e.g. *node_modules\protractor\lib\cli.js*) - **Application parameters**: path to your Protractor configuration file (e.g. *protractorConfig.js*) -4. Click OK, place some breakpoints and start debugging +4. Click OK, place some breakpoints, and start debugging. -Testing out Protractor interactively +Testing Out Protractor Interactively ------------------------------------ When debugging or first writing test suites, you may find it helpful to try out Protractor commands without starting up the entire test suite. You can do this with the element explorer. -Currently, the explorer runs only with chrome and expects a selenium standalone -server to be running at http://localhost:4444. +Currently, the explorer runs only with chrome and expects a standalone Selenium +Server to be running at http://localhost:4444. -From protractor directory, run with: +From the Protractor directory, run with: node ./bin/elementexplorer.js -This will load up the URL on webdriver and put the terminal into a REPL loop. +This will load up the URL on WebDriver and put the terminal into a REPL loop. You will see a > prompt. The `browser`, `element` and `protractor` variables will be available. Enter a command such as: @@ -120,19 +120,17 @@ or > browser.get('http://www.angularjs.org') -try just +To get a list of functions you can call, try: > browser -to get a list of functions you can call. - Typing tab at a blank prompt will fill in a suggestion for finding elements. Taking Screenshots ------------------ -Webdriver can snap a screenshot with `browser.takeScreenshot()`. +WebDriver can snap a screenshot with `browser.takeScreenshot()`. This returns a promise which will resolve to the screenshot as a base-64 encoded PNG. @@ -162,5 +160,5 @@ browser.takeScreenshot().then(function (png) { Timeouts -------- -There are several ways that Protractor can time out - see the [Timeouts](/docs/timeouts.md) +There are several ways that Protractor can time out. See the [Timeouts](/docs/timeouts.md) reference for full documentation. diff --git a/docs/faq.md b/docs/faq.md index d12d7858b..5ff5f505c 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -7,10 +7,10 @@ My tests time out in Protractor, but everything's working fine when running manu There are several ways that Protractor can time out - see the [Timeouts](/docs/timeouts.md) reference for full documentation. -What's the difference between [Karma](http://karma-runner.github.io) and Protractor? When do I use which? +What's the difference between Karma and Protractor? When do I use which? --------------------------------------------------- -Karma is a great tool for unit testing, and Protractor is intended for +[Karma](http://karma-runner.github.io) is a great tool for unit testing, and Protractor is intended for end to end or integration testing. This means that small tests for the logic of your individual controllers, directives, and services should be run using Karma. Big tests in which you have a running instance of your entire application @@ -37,11 +37,11 @@ page is not written with Angular, you'll need to interact with it via unwrapped webdriver, which can be accessed like `browser.driver.get()`. You can put your log-in code into an `onPrepare` function, which will be run -once before any of your tests. See [this example](https://github.com/angular/protractor/blob/master/spec/withLoginConf.js). +once before any of your tests. See this example ([withLoginConf.js](https://github.com/angular/protractor/blob/master/spec/withLoginConf.js)] Which browsers are supported? ----------------------------- -The last two major versions of Chrome, Firefox, IE, and Safari. See details at [browser support](https://github.com/angular/protractor/blob/master/docs/browser-setup.md). +The last two major versions of Chrome, Firefox, IE, and Safari. See details at [Setting Up the Browser](https://github.com/angular/protractor/blob/master/docs/browser-setup.md). The result of `getText` from an input element is always empty ------------------------------------------------------------- @@ -77,7 +77,7 @@ browser.manage().logs().get('browser').then(function(browserLog) { This will output logs from the browser console. Note that logs below the set logging level will be ignored. WebDriver does not currently support changing the logging level for browser logs. -[See an example of using this API to fail tests if the console has errors](https://github.com/juliemr/protractor-demo/blob/master/howtos/browserlog/spec.js). +See an example ([spec.js](https://github.com/juliemr/protractor-demo/blob/master/howtos/browserlog/spec.js)) of using this API to fail tests if the console has errors. How can I get screenshots of failures? -------------------------------------------- @@ -121,7 +121,7 @@ jasmine.Spec.prototype.addMatcherResult = function() { How do I produce an XML report of my test results? -------------------------------------------------- -You can use the npm package jasmine-reporters@1.0.0 and add a JUnit XML Reporter. Check out [this example](https://github.com/angular/protractor/blob/master/spec/junitOutputConf.js). Note that the latest version of jasmine-reporters is for Jasmine 2.0, which is not yet supported by Protractor, so you'll need to be sure to use version 1.0.0. +You can use the npm package jasmine-reporters@1.0.0 and add a JUnit XML Reporter. Check out this [example (junitOutputConf.js)](https://github.com/angular/protractor/blob/master/spec/junitOutputConf.js). Note that the latest version of jasmine-reporters is for Jasmine 2.0, which is not yet supported by Protractor, so you'll need to be sure to use version 1.0.0. How can I catch errors such as ElementNotFound? ----------------------------------------------- diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 000000000..0adf0db32 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,16 @@ +Getting Started +=============== + +To get started quickly, begin with the [Tutorial](/docs/tutorial.md) which provides a step by step overview of how to install Protractor, create test files, set up config files, and run tests. + +Protractor needs two files to run, the test or spec file, and the configuration file. For additional information, see [Working with Spec and Config Files](/docs/api-overview.md). + +When writing tests, keep in mind that Protractor is a wrapper around WebDriverJS. You may want to skim through the [WebDriverJS Users Guide](https://code.google.com/p/selenium/wiki/WebDriverJs) before writing any tests. + +The WebDriverJS API is based on promises. To learn more, check out [The WebDriver Control Flow](/docs/control-flow.md). + +To learn how Protractor, Selenium Server, and Selenium WebDriver work together, take a look at [How It Works](/docs/infrastructure.md). + +Once you are familiar with Protractor, it is recommended that you start using Page Objects. For more information see [Using Page Objects to Organize Tests](/docs/page-objects.md). + +For a complete list of the Protractor documentation, see the [Table of Contents](/docs/toc.md). diff --git a/docs/infrastructure.md b/docs/infrastructure.md new file mode 100644 index 000000000..153ed6a5d --- /dev/null +++ b/docs/infrastructure.md @@ -0,0 +1,40 @@ +How It Works +============ + + +Protractor is an end-to-end test framework for AngularJS applications. Protractor is a Node.js program that supports the Jasmine, Mocha, and Cucumber test frameworks. + +Selenium is a browser automation framework. Selenium includes the Selenium Server, the WebDriver APIs, and the WebDriver browser drivers. + +Protractor works in conjunction with Selenium to provide an automated test infrastructure that can simulate a user’s interaction with an Angular application running in a browser or mobile device. + +![Protractor Components Diagram](/docs/components.png) + +When working with Protractor, it’s important to keep the following in mind: + - Protractor is a wrapper around WebDriverJS, the JavaScript bindings for the Selenium WebDriver API (before writing any tests, skim through the [WebDriverJS Users Guide](https://code.google.com/p/selenium/wiki/WebDriverJs)). + - WebDriver commands are asynchronus. They are scheduled on a control flow and return promises, not primitive values (see [The WebDriver Control Flow](/docs/control-flow.md)). + - Your test scripts send commands to the Selenium Server, which in turn communicates with the browser driver. Read on for more details. + +Process Communication +--------------------- + +A test using Selenium WebDriver involves three processes - the test script, the server, and the browser. The communication between these processes is shown in the diagram below. + +![WebDriver test Processes Diagram](/docs/processes.png) + +The Selenium Server takes care of interpreting commands from the test and forwarding them to one or more browsers. Communication between the server and the browser uses the [WebDriver Wire Protocol](https://code.google.com/p/selenium/wiki/JsonWireProtocol), a JSON protocol. The command is interpreted by the Browser Driver. + +With Protractor, the test script is run using Node.js. Protractor runs an extra command before performing any action on the browser to ensure that the application being tested has stabilized. For example, let's look at the following snippet of test code. + + `element(by.css('button.myclass')).click();` + +This will result in three commands being sent to the Browser Driver + + - [/session/:sessionId/execute_async](https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/execute_async) - First, Protractor tells the browser to run a snippet of JavaScript. This is a custom command which asks Angular to respond when the application is done with all timeouts and asynchronous requests, and ready for the test to resume. + + - [/session/:sessionId/element](https://code.google.com/p/selenium/wiki/JsonWireProtocol#POST_/session/:sessionId/element) - Then, the command to find the element is sent. + + - [/session/:sessionId/element/:id/click](https://code.google.com/p/selenium/wiki/JsonWireProtocol#POST_/session/:sessionId/element/:id/click) - Finally the command to perform a click action is sent. + + + diff --git a/docs/install.md b/docs/install.md deleted file mode 100644 index 947074c32..000000000 --- a/docs/install.md +++ /dev/null @@ -1,45 +0,0 @@ -Getting Installed -================= - -Prerequisites -------------- - -**Node.js** - -Protractor is a Node.js program. To run Protractor, you will need to have Node.js installed. Check the version of node you have by running `node --version`. It should be greater than v0.10.0. - -Node.js comes with the Protractor npm package, which you can use to install Protractor. - -**JDK** - -To run the Selenium Server, you will need to have Java Development Kit (JDK) installed. Check this by running `java -version` from the command line. - -Installing Protractor ---------------------- - -Use npm to install Protractor globally (omit the -g if you’d prefer not to install globally): - - npm install -g protractor - -Check that Protractor is working by running `protractor --version`. - -The Protractor install includes the following: - - `protractor` command line tool - - `webdriver-manager` command line tool - - Protractor API (library) - -Installing the Selenium Server ------------------------------- -Use `webdriver-manager` to set up the standalone Selenium Server. - -First, run the update command. This will install the server and ChromeDriver. - - webdriver-manager update - -Next, start the server with: - - webdriver-manager start - -You will see a lot of output logs, starting with INFO. The last line will be 'Info - Started org.openqa.jetty.jetty.Server'. - -Leave the server running while you conduct your test sessions. diff --git a/docs/locators.md b/docs/locators.md index 7b05ce43b..0e099f1e9 100644 --- a/docs/locators.md +++ b/docs/locators.md @@ -114,7 +114,8 @@ element.all(locator).last(); Finding Sub-Elements -------------------- -To find sub-elements, simply chain element and element.all functions together. For example, +To find sub-elements, simply chain element and element.all functions together as shown below. + Using a single locator to find: - an element diff --git a/docs/overview.md b/docs/overview.md deleted file mode 100644 index 458842ad2..000000000 --- a/docs/overview.md +++ /dev/null @@ -1,146 +0,0 @@ -Overview -======== - -You may want to begin with [the tutorial](/docs/tutorial.md) for a step-by-step way to get started with Protractor. - -Protractor is an end-to-end test framework for AngularJS applications. Selenium Webdriver is a browser automation framework. Protractor tests are written on top of the Selenium WebDriver API (WebDriverJS) and run in conjunction with the Selenium Server and the Selenium WebDriver Browser Drivers. Your test, the server, and the browser all run as separate processes. - -``` -[Test Code] <--> [Selenium Server] <--> [Browser with Browser Driver] -``` - -When writing tests, keep the following in mind: - - Protractor is a wrapper around WebDriverJS, the JavaScript bindings for the Selenium WebDriver API (skim through the [WebDriverJS Users Guide](https://code.google.com/p/selenium/wiki/WebDriverJs) before writing your test). - - WebDriver commands are scheduled on a control flow and return promises, not primitive values. See The [WebDriver Control Flow](/docs/control-flow.md) doc for more info. - - Communication between the Selenium Server and the Browser Drivers is managed by the [JSON WebDriver Wire Protocol](https://code.google.com/p/selenium/wiki/JsonWireProtocol). All actions that you can perform in your test must be done through this protocol. - -Protractor needs two files to run: a configuration file and the test (spec) file. - -Configuration ----------------- - -The configuration file tells Protractor what tests to run, how to connect to a -Selenium Server, and which browser to use. See -[referenceConf.js](/docs/referenceConf.js) -for an example and explanation of all the configuration options. - -A simple configuration is shown below. - -```javascript -// An example configuration file. -exports.config = { - // The address of a running selenium server. - seleniumAddress: 'http://localhost:4444/wd/hub', - - // Capabilities to be passed to the webdriver instance. - capabilities: { - 'browserName': 'chrome' - }, - - // Spec patterns are relative to the configuration file location passed - // to proractor (in this example conf.js). - // They may include glob patterns. - specs: ['example-spec.js'], - - // Options to be passed to Jasmine-node. - jasmineNodeOpts: { - showColors: true, // Use colors in the command line report. - } -}; -``` - -Writing tests -------------- - -By default, Protractor uses [Jasmine](http://pivotal.github.io/jasmine/) as its -test scaffolding. (If you'd prefer to use a different framework, such as Mocha, -see [Frameworks](/docs/frameworks.md)) Protractor exposes several global variables. - - * `browser` this is the a wrapper around an instance of webdriver. Used for - navigation and page-wide information. - - * `element` is a helper function for finding and interacting with HTML elements - on the page you are testing. - - * `by` is a collection of element locator strategies. For example, elements - can be found by CSS selector, by ID, or by the attribute they are bound to with - ng-model. - - * `protractor` is the protractor namespace which wraps the webdriver namespace. - This contains static variables and classes, such as `protractor.Key` which - enumerates the codes for special keyboard signals. - -A simple spec file tests the 'The Basics' example on the AngularJS homepage: - -```javascript -describe('angularjs homepage', function() { - it('should greet the named user', function() { - // Load the AngularJS homepage. - browser.get('http://www.angularjs.org'); - - // Find the element with ng-model matching 'yourName' - this will - // find the element - and then - // type 'Julie' into it. - element(by.model('yourName')).sendKeys('Julie'); - - // Find the element with binding matching 'yourName' - this will - // find the

Hello {{yourName}}!

element. - var greeting = element(by.binding('yourName')); - - // Assert that the text element has the expected value. - // Protractor patches 'expect' to understand promises. - expect(greeting.getText()).toEqual('Hello Julie!'); - }); -}); - -``` - -The `browser.get` method loads a page. Protractor expects Angular to be present on a page, so it will throw an error if the page it is attempting to load does -not contain the Angular library. (If you need to interact with a non-Angular -page, you may access the wrapped webdriver instance directly with -`browser.driver`). - -The `element` method searches for an element on the page. It requires one -parameter, a *locator* strategy for locating the element. Protractor offers Angular specific strategies: - -- `by.binding` searches for elements by matching binding names, - either from `ng-bind` or `{{}}` notation in the template. -- `by.model` searches for elements by input `ng-model`. -- `by.repeater` searches for `ng-repeat` elements. For example, - `by.repeater('phone in phones').row(11).column('price')` returns - the element in the 12th row (0-based) of the `ng-repeat = "phone in phones"` repeater - with the binding matching `{{phone.price}}`. - -You may also use plain old WebDriver strategies such as `by.id` and -`by.css`. Since locating by CSS selector is so common, the global variable `$` is an alias for `element.by.css`. See [Using Locators](/docs/locators.md) for more information. - -`element` returns an ElementFinder. This is an object which allows you to interact with the element on your page, but since all interaction with the browser must be done over webdriver, it is important to remember that this is *not* a DOM element. You can interact with it with methods such as -`sendKeys`, `getText`, and `click`. Check out the [API](/docs/api.md) for a list of -all available methods. - -See Protractor's [findelements test suite](https://github.com/angular/protractor/blob/master/spec/basic/elements_spec.js) -for more examples. - - -Setting up the System Under Test --------------------------------- - -Protractor uses real browsers to run its tests, so it can connect to anything that your browser can connect to. This means you have great flexibility in deciding _what_ you are actually testing. It could be a development server on localhost, a staging server up on your local network, or even production servers on the general internet. All Protractor needs is the URL. - -There are a couple of things to watch out for! - -**If your page does manual bootstrap** Protractor will not be able to load your page using `browser.get`. Instead, use the base webdriver instance - `browser.driver.get`. This means that Protractor does not know when your page is fully loaded, and you may need to add a wait statement to make sure your tests avoid race conditions. - -**If your page uses $timeout for polling** Protractor will not be able to tell when your page is ready. Consider using $interval instead of $timeout and see [this issue](https://github.com/angular/protractor/issues/49) for further discussion. - -If you need to do global preparation for your tests (for example, logging in), you can put this into the config in the `onPrepare` property. This property can be either a function or a filename. If a filename, Protractor will load that file with node.js and run its contents. See the [login tests](https://github.com/angular/protractor/blob/master/spec/login) for an example. - - -Further Reading ---------------- - -- [WebDriverJS User's Guide](https://code.google.com/p/selenium/wiki/WebDriverJs) -- [WebDriver FAQ](https://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions) -- [w3 WebDriver Working Draft](http://www.w3.org/TR/webdriver/) -- [Step-by-step slides on Protractor](http://ramonvictor.github.io/protractor/slides/) (May 3, 2014) -- [Introduction to Protractor](https://docs.google.com/file/d/0BwDWzYJ-4RpAQnNRLXM3QVFPMjg) (May 21, 2014) diff --git a/docs/page-objects.md b/docs/page-objects.md index 324d8f9a5..4458d2cfa 100644 --- a/docs/page-objects.md +++ b/docs/page-objects.md @@ -1,11 +1,30 @@ -Organizing Tests: Page Objects ------------------------------------ +Using Page Objects to Organize Tests +==================================== -When writing test scripts for the pages of your application, it's best to use the [Page Objects](https://code.google.com/p/selenium/wiki/PageObjects) pattern to organize and make your tests more readable. +When writing end-to-end tests, a common pattern is to use [Page Objects](https://code.google.com/p/selenium/wiki/PageObjects). Page Objects help you write cleaner tests by encapsulating information about the elements on your application page. A Page Object can be reused across multiple tests, and if the template of your application changes, you only need to update the Page Object. -In Protractor, this could look like: +Without Page Objects +-------------------- -```javascript +Here’s a simple test script ([example_spec.js](/example/example_sped.js)) for ‘The Basics’ example on the [angularjs.org](http://www.angularjs.org) homepage. + +```js +describe('angularjs homepage', function() { + it('should greet the named user', function() { + browser.get('http://www.angularjs.org'); + element(by.model('yourName')).sendKeys('Julie'); + var greeting = element(by.binding('yourName')); + expect(greeting.getText()).toEqual('Hello Julie!'); + }); +}); +``` + +With PageObjects +---------------- + +To switch to Page Objects, the first thing you need to do is create a Page Object. A Page Object for ‘The Basics’ example on the angularjs.org homepage could look like this: + +```js var AngularHomepage = function() { this.nameInput = element(by.model('yourName')); this.greeting = element(by.binding('yourName')); @@ -19,10 +38,9 @@ var AngularHomepage = function() { }; }; ``` +The next thing you need to do is modify the test script to use the PageObject and its properties. Note that the _functionality_ of the test script itself does not change (nothing is added or deleted). -Your test then becomes: - -```javascript +```js describe('angularjs homepage', function() { it('should greet the named user', function() { var angularHomepage = new AngularHomepage(); @@ -35,10 +53,12 @@ describe('angularjs homepage', function() { }); ``` -It is possible to separate your tests in various test suites. The configuration becomes: +Configuring Test Suites +----------------------- + +It is possible to separate your tests into various test suites. In your config file, you could setup the suites option as shown below. -```javascript -// An example configuration file. +```js exports.config = { // The address of a running selenium server. seleniumAddress: 'http://localhost:4444/wd/hub', @@ -63,6 +83,6 @@ exports.config = { }; ``` -You can then easily switch from the command line between running one or the other suite of tests. This will only run the homepage section of the tests: +From the command line, you can then easily switch between running one or the other suite of tests. This command will run only the homepage section of the tests: protractor protractor.conf.js --suite homepage diff --git a/docs/processes.png b/docs/processes.png new file mode 100644 index 0000000000000000000000000000000000000000..53d160a799130002e6527a9468b426b32662ae9a GIT binary patch literal 157495 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 literal 0 HcmV?d00001 diff --git a/docs/protractor-setup.md b/docs/protractor-setup.md new file mode 100644 index 000000000..f5b67ef9f --- /dev/null +++ b/docs/protractor-setup.md @@ -0,0 +1,26 @@ +Getting Installed +================= + +Prerequisites +------------- + +**Node.js** + +Protractor is a [Node.js](http://nodejs.org/) program. To run Protractor, you will need to have Node.js installed. Check the version of node you have by running `node --version`. It should be greater than v0.10.0. + +Node.js comes with the Protractor [npm](https://www.npmjs.org/) package, which you can use to install Protractor. + + +Installing Protractor +--------------------- + +Use npm to install Protractor globally (omit the -g if you’d prefer not to install globally): + + npm install -g protractor + +Check that Protractor is working by running `protractor --version`. + +The Protractor install includes the following: + - `protractor` command line tool + - `webdriver-manager` command line tool + - Protractor API (library) diff --git a/docs/referenceConf.js b/docs/referenceConf.js index de3b472f7..f35a1855c 100644 --- a/docs/referenceConf.js +++ b/docs/referenceConf.js @@ -9,7 +9,7 @@ exports.config = { // ----- How to setup Selenium ----------------------------------------------- // --------------------------------------------------------------------------- // - // There are three ways to specify how to use Selenium. Specify one of the + // There are three ways to use the Selenium Server. Specify one of the // following: // // 1. seleniumServerJar - to start a standalone Selenium Server locally. @@ -17,13 +17,13 @@ exports.config = { // running. // 3. sauceUser/sauceKey - to use remote Selenium Servers via Sauce Labs. // - // You can bypass a Selenium Server if you only want to test using chrome. - // Set chromeOnly to true and chromeDriver will be used directly (from the + // You can bypass a Selenium Server if you only want to test using Chrome. + // Set chromeOnly to true and ChromeDriver will be used directly (from the // location specified in chromeDriver). - // The location of the selenium standalone server jar file, relative - // to the location of this config. If no other method of starting selenium - // is found, this will default to + // The location of the standalone Selenium Server jar file, relative + // to the location of this config. If no other method of starting Selenium + // Server is found, this will default to // node_modules/protractor/selenium/selenium-server... seleniumServerJar: null, // The port to start the Selenium Server on, or null if the server should @@ -33,18 +33,18 @@ exports.config = { // if you need to change the browser timeout, use // seleniumArgs: ['-browserTimeout=60'], seleniumArgs: [], - // Chromedriver location is used to help the standalone Selenium Server - // find the chromedriver binary. This will be passed to the selenium jar as - // the system property webdriver.chrome.driver. If null, selenium will - // attempt to find chromedriver using PATH. + // ChromeDriver location is used to help the standalone Selenium Server + // find the chromedriver binary. This will be passed to the Selenium jar as + // the system property webdriver.chrome.driver. If null, Selenium will + // attempt to find ChromeDriver using PATH. chromeDriver: './selenium/chromedriver', - // If true, only chromedriver will be started, not a standalone selenium. - // Tests for browsers other than chrome will not run. + // If true, only ChromeDriver will be started, not a Selenium Server. + // Tests for browsers other than Chrome will not run. chromeOnly: false, // The address of a running Selenium Server. If specified, Protractor will - // connect to an already running instance of selenium. This usually looks like + // connect to an already running instance of Selenium. This usually looks like // seleniumAddress: 'http://localhost:4444/wd/hub' seleniumAddress: null, @@ -107,7 +107,7 @@ exports.config = { specs: ['spec/chromeOnlySpec.js'] }, - // If you would like to run more than one instance of webdriver on the same + // If you would like to run more than one instance of WebDriver on the same // tests, use multiCapabilities, which takes an array of capabilities. // If this is specified, capabilities will be ignored. multiCapabilities: [], @@ -158,11 +158,11 @@ exports.config = { }, // A callback function called once the tests have finished running and - // the webdriver instance has been shut down. It is passed the exit code + // the WebDriver instance has been shut down. It is passed the exit code // (0 if the tests passed or 1 if not). This is called once per capability. onCleanUp: function(exitCode) {}, - // The params object will be passed directly to the protractor instance, + // The params object will be passed directly to the Protractor instance, // and can be accessed from your test as browser.params. It is an arbitrary // object and can contain anything you may need in your test. // This can be changed via the command line as: @@ -199,7 +199,7 @@ exports.config = { defaultTimeoutInterval: 30000 }, - // Options to be passed to mocha. + // Options to be passed to Mocha. // // See the full list at http://visionmedia.github.io/mocha/ mochaOpts: { @@ -207,7 +207,7 @@ exports.config = { reporter: 'list' }, - // Options to be passed to cucumber. + // Options to be passed to Cucumber. cucumberOpts: { // Require files before executing the features. require: 'cucumber/stepDefinitions.js', diff --git a/docs/server-setup.md b/docs/server-setup.md new file mode 100644 index 000000000..83cf62cf8 --- /dev/null +++ b/docs/server-setup.md @@ -0,0 +1,79 @@ +Setting Up the Selenium Server +============================== + +When working with Protractor you will most likely use the Selenium Server. The server acts as proxy between your test script (written with the WebDriver API) and the browser driver (controlled by the WebDriver protocols). + +The server forwards commands from your script to the driver and returns responses from the driver to your script. The server can handle multiple scripts in different languages. The server can startup and manage multiple browsers in different versions and implementations. + + [Test Scripts] < ------------ > [Selenium Server] < ------------ > [Browser Drivers] + +The [reference config file](/docs/referenceConf.js) includes several options for the Selenium Server, which are explained in the sections below. + + +Standalone Selenium Server +-------------------------- + +To run the Selenium Server on your local machine, use the standalone Selenium Server. + +**JDK** + +To run a local Selenium Server, you will need to have the [Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) installed. Check this by running `java -version` from the command line. + + +**Installing and Starting the Server** + +To install and start the standalone Selenium Server manually, use the webdriver-manager command line tool, which comes with Protractor. + +1. Run the update command: + `webdriver-manager update` + This will install the server and ChromeDriver. + +2. Run the start command: + `webdriver-manager start` + This will start the server. You will see a lot of output logs, starting with INFO. The last + line will be 'Info - Started org.openqa.jetty.jetty.Server'. + +3. Leave the server running while you conduct your test sessions. + + +**Starting the Server from a Test Script** + +To start the standalone Selenium Server from within your test script, set these options in your config file: + + - `seleniumServerJar` - The location of the jar file for the standalone Selenium Server. Specify a file location. + + - `seleniumPort` - The port to use to start the standalone Selenium Server. If not specified, defaults to 4444. + + - `seleniumArgs` - Array of command line options to pass to the server. For a full list, start the server with the `-help` flag. + +**Connecting to a Running Server** + +To connect to a running instance of a standalone Selenium Server, set this option: + + - `seleniumAddress` - Connect to a running instance of a standalone Selenium Server. The address will be a URL. + +Please note that if you set seleniumAddress, the settings for `seleniumServerJar`, `seleniumPort` and `seleniumArgs` will be ignored. + + +Remote Selenium Server +---------------------- + +To run your tests against a remote Selenium Server, you will need an account with a service that hosts the server (and the browser drivers). Protractor has built in support for [Sauce Labs](http://www.saucelabs.com). + +In your config file, set these options: + - `sauceUser` - The username for your Sauce Labs account. + - `sauceKey` - The key for your Sauce Labs account. + +Please note that if you set `sauceUser` and `sauceKey`, the settings for `seleniumServerJar`, `seleniumPort` and `seleniumArgs` will be ignored. + + +Selenium Server and the Chrome Browser +-------------------------------------- + +The Selenium Server is optional when you test against the Chrome browser. In your config file, you can set the chromeOnly option to true or false: + + - `chromeOnly: false` - Your test script communicates with the Selenium Server (running locally or remotely). This is the default setting. + + - `chromeOnly: true` - Your test script communicates directly with the ChromeDriver. The Selenium Server (running locally or remotely) will be ignored. + +The advantage of running only with Chrome is that your test scripts will start up and run faster. For more detailed information about chromeOnly, see the [chrome.js source code](https://code.google.com/p/selenium/source/browse/javascript/node/selenium-webdriver/chrome.js). diff --git a/docs/system-setup.md b/docs/system-setup.md new file mode 100644 index 000000000..e0058f34f --- /dev/null +++ b/docs/system-setup.md @@ -0,0 +1,11 @@ +Setting Up the System Under Test +================================ + +Protractor uses real browsers to run its tests, so it can connect to anything that your browser can connect to. This means you have great flexibility in deciding what you are actually testing. It could be a development server on localhost, a staging server up on your local network, or even production servers on the general internet. All Protractor needs is the URL. +There are a couple of things to watch out for! + +**If your page does manual bootstrap** Protractor will not be able to load your page using browser.get. Instead, use the base webdriver instance - `browser.driver.get`. This means that Protractor does not know when your page is fully loaded, and you may need to add a wait statement to make sure your tests avoid race conditions. + +**If your page uses `$timeout` for polling** Protractor will not be able to tell when your page is ready. Consider using `$interval` instead of `$timeout`. + +If you need to do global preparation for your tests (for example, logging in), you can put this into the config in the `onPrepare` property. This property can be either a function or a filename. If a filename, Protractor will load that file with Node.js and run its contents. See the [login tests](/spec/login/) for an example. diff --git a/docs/timeouts.md b/docs/timeouts.md index 3aeb8813b..7ca987076 100644 --- a/docs/timeouts.md +++ b/docs/timeouts.md @@ -1,9 +1,7 @@ Timeouts ======== -This file provides a reference for the various timeouts involved in a Protractor -test. Because WebDriver tests are asynchronous and there are many compoments -involved, there are many reasons a timeout may occur. +Because WebDriver tests are asynchronous and involve many components, there are several reasons why a timeout could occur in a Protractor test. Timeouts from Protractor ------------------------ @@ -23,7 +21,7 @@ be loaded and the new URL to appear before continuing. Before performing any action, Protractor asks Angular to wait until the page is synchronized. This means that all timeouts and http requests are finished. If your application continuously polls $timeout or $http, it will never be registered as completely loaded. You should use the -[$interval service](https://github.com/angular/angular.js/blob/master/src/ng/interval.js) for anything that polls continuously (introduced in Angular 1.2rc3). +$interval service ([interval.js](https://github.com/angular/angular.js/blob/master/src/ng/interval.js)) for anything that polls continuously (introduced in Angular 1.2rc3). - Looks like: an error in your test results - `Timed out waiting for Protractor to synchronize with the page after 11 seconds.` @@ -72,11 +70,11 @@ If a spec (an 'it' block) takes longer than the Jasmine timeout for any reason, Timeouts from Sauce Labs ------------------------ -If you are using Sauce Labs, there are a couple additional ways your test can time out. See [Sauce Labs Timeout Documentation](https://docs.saucelabs.com/reference/test-configuration/#timeouts) for more information. +If you are using Sauce Labs, there are a couple additional ways your test can time out. See [Sauce Labs Timeouts Documentation](https://docs.saucelabs.com/reference/test-configuration/#timeouts) for more information. **Maximum Test Duration** -Sauce Labs limits the maximum total duration for a test +Sauce Labs limits the maximum total duration for a test. - Looks like: `Test exceeded maximum duration after 1800 seconds` diff --git a/docs/toc.md b/docs/toc.md index 1637d75f9..b7c26499a 100644 --- a/docs/toc.md +++ b/docs/toc.md @@ -1,23 +1,25 @@ Table of Contents ================= -Quick Start - - [Protractor Tutorial](/docs/tutorial.md) - Protractor Setup - - [Getting Installed](/docs/install.md) + - [Setting Up Protractor](/docs/protractor-setup.md) + - [Setting Up the Selenium Server](/docs/server-setup.md) + - [Setting Up the Browser](/docs/browser-setup.md) - [Choosing a Framework](/docs/frameworks.md) - - [Setting Up Your Browser](/docs/browser-setup.md) Protractor Tests - - [Overview](/docs/overview.md) + - [Getting Started](/docs/getting-started.md) + - [Tutorial](/docs/tutorial.md) + - [Working with Spec and Config Files](/docs/api-overview.md) + - [Setting Up the System Under Test](/docs/system-setup.md) - [Using Locators](/docs/locators.md) - - [Organizing Tests: Page Objects](/docs/page-objects.md) + - [Using Page Objects to Organize Tests](/docs/page-objects.md) - [Debugging Protractor Tests](/docs/debugging.md) Reference - - [Configuration File Reference](/docs/referenceConf.js) + - [Reference Config File](/docs/referenceConf.js) - [Protractor API](/docs/api.md) - [Timeouts](/docs/timeouts.md) - [The WebDriver Control Flow](/docs/control-flow.md) + - [How It Works](/docs/infrastructure.md) - [FAQ](/docs/faq.md) diff --git a/docs/tutorial.md b/docs/tutorial.md index 7fb96d5db..15fe7c3c5 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -1,7 +1,7 @@ Tutorial ======== -This is a simple tutorial for how to get Protractor set up and running tests. +This is a simple tutorial that shows you how to set up Protractor and start running tests. Prerequisites ------------- @@ -10,7 +10,7 @@ Protractor is a [Node.js](http://nodejs.org/) program. To run, you will need to By default, Protractor uses the [Jasmine](http://jasmine.github.io/1.3/introduction.html) test framework for its testing interface. This tutorial assumes some familiarity with Jasmine. -This tutorial will set up a test using a local standalone Selenium Server to control browsers. You will need to have [Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) installed to run the Selenium Server. Check this by running `java -version` from the command line. +This tutorial will set up a test using a local standalone Selenium Server to control browsers. You will need to have the [Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) installed to run the standalone Selenium Server. Check this by running `java -version` from the command line. Setup ----- @@ -38,7 +38,7 @@ Open a new command line or terminal window and create a clean folder for testing Protractor needs two files to run, a **spec file** and a **configuration file**. -Let's start with a simple test that navigates to an example AngluarJS application and checks its title. The application we'll use is at [http://juliemr.github.io/protractor-demo/](http://juliemr.github.io/protractor-demo/). +Let's start with a simple test that navigates to an example AngluarJS application and checks its title. We’ll use the Super Calculator application at [http://juliemr.github.io/protractor-demo/](http://juliemr.github.io/protractor-demo/). Copy the following into spec.js: @@ -101,7 +101,7 @@ This uses the globals `element` and `by`, which are also created by Protractor. - `by.id('gobutton')` to find the element with the given id. This finds `