gitextract_ume1e23d/ ├── .circleci/ │ └── config.yml ├── .clang-format ├── .gitattributes ├── .github/ │ └── ISSUE_TEMPLATE ├── .gitignore ├── .npmignore ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── DEVELOPER.md ├── LICENSE ├── README.md ├── bin/ │ ├── protractor │ └── webdriver-manager ├── debugging/ │ ├── async_await.js │ ├── conf.js │ ├── failureConf.js │ ├── failure_spec.js │ ├── timeoutConf.js │ └── timeout_spec.js ├── docs/ │ ├── api-overview.md │ ├── api.md │ ├── async-await.md │ ├── browser-setup.md │ ├── browser-support.md │ ├── control-flow.md │ ├── debugging.md │ ├── faq.md │ ├── frameworks.md │ ├── getting-started.md │ ├── infrastructure.md │ ├── jasmine-upgrade.md │ ├── locators.md │ ├── mobile-setup.md │ ├── page-objects.md │ ├── plugins.md │ ├── protractor-setup.md │ ├── referenceConf.js │ ├── server-setup.md │ ├── style-guide.md │ ├── system-setup.md │ ├── timeouts.md │ ├── toc.md │ ├── tutorial.md │ ├── typescript.md │ └── webdriver-vs-protractor.md ├── example/ │ ├── angular_material/ │ │ ├── conf.js │ │ ├── input_spec.js │ │ └── mat_paginator_spec.js │ ├── conf.js │ ├── example_spec.js │ └── package.json ├── exampleTypescript/ │ ├── .gitignore │ ├── README.md │ ├── angularPage.ts │ ├── conf.js │ ├── package.json │ ├── plugins.ts │ ├── spec.ts │ ├── specPageObjects.ts │ └── tsconfig.json ├── gulpfile.js ├── lib/ │ ├── bpRunner.ts │ ├── breakpointhook.js │ ├── browser.ts │ ├── cli.ts │ ├── clientsidescripts.js │ ├── config.ts │ ├── configParser.ts │ ├── driverProviders/ │ │ ├── README.md │ │ ├── attachSession.ts │ │ ├── browserStack.ts │ │ ├── direct.ts │ │ ├── driverProvider.ts │ │ ├── hosted.ts │ │ ├── index.ts │ │ ├── kobiton.ts │ │ ├── local.ts │ │ ├── mock.ts │ │ ├── sauce.ts │ │ └── testObject.ts │ ├── element.ts │ ├── exitCodes.ts │ ├── expectedConditions.ts │ ├── frameworks/ │ │ ├── README.md │ │ ├── __protractor_internal_afterEach_setup_spec.js │ │ ├── debugprint.ts │ │ ├── jasmine.js │ │ ├── mocha.js │ │ └── setupAfterEach.js │ ├── index.ts │ ├── launcher.ts │ ├── locators.ts │ ├── logger.ts │ ├── plugins.ts │ ├── ptor.ts │ ├── runner.ts │ ├── runnerCli.ts │ ├── selenium-webdriver/ │ │ ├── locators.js │ │ └── webdriver.js │ ├── taskLogger.ts │ ├── taskRunner.ts │ ├── taskScheduler.ts │ ├── util.ts │ └── webdriver-js-extender/ │ └── index.js ├── package.json ├── release.md ├── scripts/ │ ├── browserstack_local_setup.sh │ ├── dependency_test.json │ ├── driverProviderAttachSession.js │ ├── errorTest.js │ ├── generate-docs.sh │ ├── get-version.js │ ├── print_logs.sh │ ├── sauce_connect_setup.sh │ ├── test/ │ │ └── test_util.js │ ├── test.js │ ├── test_on_travis.sh │ ├── testserver.sh │ ├── travis_setup.sh │ ├── unit_test.json │ └── wait_for_browser_provider.sh ├── spec/ │ ├── .jshintrc │ ├── altRoot/ │ │ └── findelements_spec.js │ ├── altRootConf.js │ ├── angular2Conf.js │ ├── angular2TimeoutConf.js │ ├── basic/ │ │ ├── actions_spec.js │ │ ├── elements_spec.js │ │ ├── excludeme_spec.js │ │ ├── expected_conditions_spec.js │ │ ├── handling_spec.js │ │ ├── lib_spec.js │ │ ├── locators_spec.js │ │ ├── mockmodule_spec.js │ │ ├── navigation_spec.js │ │ ├── polling_spec.js │ │ ├── restart_spec.js │ │ └── synchronize_spec.js │ ├── basicConf.js │ ├── ciBStackConf.js │ ├── ciFullConf.js │ ├── ciNg2Conf.js │ ├── ciSmokeConf.js │ ├── control/ │ │ └── spec.js │ ├── controlLockConf.js │ ├── custom/ │ │ ├── framework.js │ │ └── smoke_spec.js │ ├── customFramework.js │ ├── dependencyTest/ │ │ ├── protractor_spec.js │ │ ├── seleniumWebdriver_spec.js │ │ └── setup.js │ ├── directConnect/ │ │ └── directconnect_spec.js │ ├── directConnectConf.js │ ├── driverProviderAttachSessionConf.js │ ├── driverProviderLocalConf.js │ ├── driverProviderTest.js │ ├── driverProviders/ │ │ ├── attachSession/ │ │ │ └── attachSession_spec.js │ │ └── local/ │ │ └── local_spec.js │ ├── environment.js │ ├── errorTest/ │ │ ├── afterLaunchChangesExitCodeConf.js │ │ ├── baseCase/ │ │ │ ├── error_spec.js │ │ │ ├── mocha_failure_spec.js │ │ │ ├── single_failure_spec1.js │ │ │ ├── single_failure_spec2.js │ │ │ ├── slow_http_and_timeout_spec.js │ │ │ ├── success_spec.js │ │ │ └── timeout_spec.js │ │ ├── browserStackAuthentication.js │ │ ├── debugMultiCapabilities.js │ │ ├── getMultiCapabilitiesConf.js │ │ ├── mochaFailureConf.js │ │ ├── multiFailureConf.js │ │ ├── pluginsFailingConf.js │ │ ├── sauceLabsAuthentication.js │ │ ├── shardedFailureConf.js │ │ ├── singleFailureConf.js │ │ ├── slowHttpAndTimeoutConf.js │ │ └── timeoutConf.js │ ├── getCapabilitiesConf.js │ ├── hybrid/ │ │ └── async_spec.js │ ├── hybridConf.js │ ├── inferRootConf.js │ ├── install/ │ │ ├── .gitignore │ │ ├── browserjs_spec.js │ │ ├── browserts_spec.ts │ │ ├── conf.ts │ │ ├── javascript_spec.js │ │ ├── package.json │ │ ├── test.js │ │ ├── tsconfig.json │ │ ├── typescript_conf.ts │ │ └── typescript_spec.ts │ ├── interaction/ │ │ └── interaction_spec.js │ ├── interactionConf.js │ ├── login/ │ │ └── login_spec.js │ ├── mocha/ │ │ └── lib_spec.js │ ├── mochaConf.js │ ├── multiConf.js │ ├── ng2/ │ │ ├── async_spec.js │ │ └── timeout_spec.js │ ├── noGlobals/ │ │ └── noGlobals_spec.js │ ├── noGlobalsConf.js │ ├── onCleanUp/ │ │ └── onCleanUp_spec.js │ ├── onCleanUpAsyncReturnValueConf.js │ ├── onCleanUpNoReturnValueConf.js │ ├── onCleanUpSyncReturnValueConf.js │ ├── onPrepare/ │ │ ├── asyncstartup.js │ │ ├── onPrepare_spec.js │ │ └── startup.js │ ├── onPrepareConf.js │ ├── onPrepareFileConf.js │ ├── onPreparePromiseConf.js │ ├── onPreparePromiseFileConf.js │ ├── plugins/ │ │ ├── browserGetSyncedConf.js │ │ ├── browserGetUnsyncedConf.js │ │ ├── jasminePostTestConf.js │ │ ├── mochaPostTestConf.js │ │ ├── multiPluginConf.js │ │ ├── plugins/ │ │ │ ├── async_plugin.js │ │ │ ├── basic_plugin.js │ │ │ ├── failing_plugin.js │ │ │ └── post_test_plugin.js │ │ ├── postTestConfTemplate.js │ │ ├── skipStabilityConf.js │ │ ├── smokeConf.js │ │ ├── specs/ │ │ │ ├── bigger_spec.js │ │ │ ├── browser_get_wait_spec.js │ │ │ ├── fail_spec.js │ │ │ ├── simple_spec.js │ │ │ ├── skip_stability_spec.js │ │ │ └── smoke_spec.js │ │ └── waitForAngularConf.js │ ├── restartBrowserBetweenTests/ │ │ └── setCookies_spec.js │ ├── restartBrowserBetweenTestsConf.js │ ├── shardingConf.js │ ├── suites/ │ │ ├── always_fail_spec.js │ │ ├── ok_2_spec.js │ │ └── ok_spec.js │ ├── suitesConf.js │ ├── ts/ │ │ ├── basic/ │ │ │ └── element_spec.ts │ │ ├── noCFBasicConf.ts │ │ ├── noCFPluginConf.ts │ │ └── plugin/ │ │ └── plugin_spec.ts │ ├── unit/ │ │ ├── configParser_test.js │ │ ├── data/ │ │ │ ├── config.js │ │ │ ├── fakespecA.js │ │ │ ├── fakespecB.js │ │ │ └── fakespecC.js │ │ ├── driverProviders/ │ │ │ ├── direct_test.js │ │ │ └── local_test.js │ │ ├── logger_test.js │ │ ├── runner_test.js │ │ └── taskScheduler_test.js │ └── withLoginConf.js ├── stress/ │ ├── conf.js │ └── spec.js ├── testapp/ │ ├── .gitignore │ ├── app.css │ ├── index.html │ ├── ng1/ │ │ ├── alt_root_index.html │ │ ├── animation/ │ │ │ ├── animation.css │ │ │ ├── animation.html │ │ │ └── animation.js │ │ ├── app.css │ │ ├── app.js │ │ ├── async/ │ │ │ ├── async.html │ │ │ └── async.js │ │ ├── bindings/ │ │ │ ├── bindings.html │ │ │ └── bindings.js │ │ ├── components/ │ │ │ └── app-version.js │ │ ├── conflict/ │ │ │ ├── conflict.html │ │ │ └── conflict.js │ │ ├── form/ │ │ │ ├── form.html │ │ │ └── form.js │ │ ├── index.html │ │ ├── interaction/ │ │ │ ├── interaction.html │ │ │ └── interaction.js │ │ ├── lib/ │ │ │ └── angular_version.js │ │ ├── login.html │ │ ├── polling/ │ │ │ ├── polling.html │ │ │ └── polling.js │ │ ├── repeater/ │ │ │ ├── repeater.html │ │ │ └── repeater.js │ │ └── shadow/ │ │ ├── shadow.html │ │ └── shadow.js │ ├── ng2/ │ │ ├── app/ │ │ │ ├── app.component.html │ │ │ ├── app.component.js │ │ │ ├── app.component.ts │ │ │ ├── app.module.js │ │ │ ├── app.module.ts │ │ │ ├── app.routes.js │ │ │ ├── app.routes.ts │ │ │ ├── async/ │ │ │ │ ├── async.component.html │ │ │ │ ├── async.component.js │ │ │ │ └── async.component.ts │ │ │ ├── home/ │ │ │ │ ├── home.component.html │ │ │ │ ├── home.component.js │ │ │ │ └── home.component.ts │ │ │ ├── main.js │ │ │ └── main.ts │ │ ├── index.html │ │ ├── styles.css │ │ └── system-config.js │ ├── package.json │ ├── scripts/ │ │ └── web-server.js │ ├── tsconfig-aot.json │ ├── tsconfig.json │ └── upgrade/ │ ├── app/ │ │ ├── downgrade/ │ │ │ ├── main.js │ │ │ ├── main.ts │ │ │ ├── ng1.js │ │ │ ├── ng1.metadata.json │ │ │ ├── ng1.ts │ │ │ ├── ng2.js │ │ │ ├── ng2.metadata.json │ │ │ ├── ng2.ngfactory.js │ │ │ ├── ng2.ngfactory.ts │ │ │ ├── ng2.ngsummary.json │ │ │ └── ng2.ts │ │ ├── main.js │ │ ├── main.ts │ │ ├── module.js │ │ ├── module.ts │ │ ├── myApp.js │ │ ├── myApp.ts │ │ ├── ng1.js │ │ ├── ng1.ts │ │ ├── ng2.js │ │ ├── ng2.ts │ │ └── no_static/ │ │ ├── main.js │ │ ├── main.ts │ │ ├── upgrader.js │ │ └── upgrader.ts │ ├── html/ │ │ ├── myApp.html │ │ ├── ng1.html │ │ └── ng2.html │ ├── index.html │ ├── styles.css │ └── systemjs.config.js ├── ts_spec_config.json ├── tsconfig.json ├── tslint.json └── website/ ├── .bowerrc ├── README.md ├── bower.json ├── css/ │ ├── prettify.css │ └── protractor.less ├── docgen/ │ ├── dgeni-config.js │ ├── inline_tags/ │ │ └── code.js │ ├── processors/ │ │ ├── add-links.js │ │ ├── add-toc.js │ │ ├── filter-jsdoc.js │ │ ├── filter-promise.js │ │ ├── set-file-name.js │ │ ├── tag-fixer.js │ │ ├── these-children.js │ │ └── transfer-see.js │ ├── spec/ │ │ ├── add-links-spec.js │ │ ├── element-array-finder-all.json │ │ ├── element-array-finder.json │ │ ├── tag-fixer-spec.js │ │ └── transfer-see-spec.js │ └── templates/ │ └── toc-template.txt ├── gulpfile.js ├── index.html ├── js/ │ ├── api-controller.js │ ├── directives.js │ ├── markdown-controller.js │ ├── modules.js │ ├── prettify.js │ ├── routes.js │ └── shared.js ├── karma.conf.js ├── package.json ├── partials/ │ ├── api.html │ ├── home.html │ └── ptor-function-list.html ├── protractor.conf.js ├── run-tests.js ├── test/ │ ├── e2e/ │ │ ├── api-page.js │ │ ├── api_spec.js │ │ ├── menu-partial.js │ │ └── navigation_spec.js │ └── unit/ │ ├── api-controller-spec.js │ └── directives-spec.js ├── testapp/ │ ├── chat │ ├── fastTemplateUrl │ ├── fastcall │ ├── slowTemplateUrl │ └── slowcall └── unit_test.json