mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-03-29 08:58:23 +08:00
types(selenium): update selenium-webdriver to 2.53.1
- update from selenium-webdriver 2.44 to 2.53.1 - remove dependencies for selenium-webdriver 2.44: - protractor - protractor-helpers - protractor-http-mock
This commit is contained in:
111
protractor-helpers/index.d.ts
vendored
111
protractor-helpers/index.d.ts
vendored
@@ -1,111 +0,0 @@
|
||||
// Type definitions for protractor-helpers v1.0.0
|
||||
// Project: https://github.com/wix/protractor-helpers
|
||||
// Definitions by: John Cant <https://github.com/johncant/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
|
||||
/// <reference types="jasmine" />
|
||||
/// <reference types="selenium-webdriver" />
|
||||
|
||||
// ElementArrayFinder
|
||||
|
||||
declare namespace protractor {
|
||||
interface ElementArrayFinder {
|
||||
getByText(text: string) : protractor.ElementFinder;
|
||||
$$data(hook: string) : protractor.ElementArrayFinder;
|
||||
}
|
||||
|
||||
interface ElementFinder {
|
||||
$data(hook: string) : protractor.ElementFinder;
|
||||
}
|
||||
}
|
||||
|
||||
// Globals
|
||||
|
||||
declare function $data(hook: string) : protractor.ElementFinder;
|
||||
declare function $$data(hook: string) : protractor.ElementArrayFinder;
|
||||
|
||||
|
||||
// Locators
|
||||
|
||||
// TODO - find out about result of querySelector and querySelector all.
|
||||
// Are they Locator s?
|
||||
declare namespace protractor {
|
||||
interface IProtractorLocatorStrategy {
|
||||
dataHook(hook: string, optParentElement?: protractor.ElementFinder, optRootSelector?: string) : webdriver.Locator;
|
||||
dataHookAll(hook: string, optParentElement?: protractor.ElementFinder, optRootSelector?: string) : webdriver.Locator;
|
||||
}
|
||||
}
|
||||
|
||||
// Matchers
|
||||
// TODO - Typescript doesn't really help much here
|
||||
// we don't know what type is being tested.
|
||||
// Fixing this would require modifying the
|
||||
// jasmine d.ts.
|
||||
|
||||
declare namespace jasmine {
|
||||
interface Matchers {
|
||||
toBePresent() : boolean;
|
||||
toBeDisplayed() : boolean;
|
||||
toHaveCountOf(expectedCount : number) : boolean;
|
||||
toHaveText(expectedText : string) : boolean;
|
||||
toMatchRegex(regex : RegExp) : boolean;
|
||||
toMatchMoney(expectedValue : number, currencySymbol? : string) : boolean;
|
||||
toMatchMoneyWithFraction(expectedValue : number, currencySymbol?: string) : boolean;
|
||||
toHaveValue(actual: string | number) : boolean;
|
||||
toHaveClass(className : string) : boolean;
|
||||
toHaveUrl(url : string) : boolean;
|
||||
toBeDisabled() : boolean;
|
||||
toBeChecked() : boolean;
|
||||
toBeValid() : boolean;
|
||||
toBeInvalid() : boolean;
|
||||
toBeInvalidRequired() : boolean;
|
||||
// Copied definitions from angular-translate.
|
||||
toMatchTranslated(translationId : string, interpolateParams? : any) : boolean;
|
||||
toMatchTranslated(translationId : string[], interpolateParams? : any) : boolean;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
declare module "protractor-helpers" {
|
||||
|
||||
function not(arg: webdriver.promise.IThenable<any>) : webdriver.promise.IThenable<boolean>;
|
||||
|
||||
// Copied definitions from angular-translate.
|
||||
function translate(translationId: string, interpolateParams?: any): webdriver.promise.IThenable<string>;
|
||||
function translate(translationId: string[], interpolateParams?: any): webdriver.promise.IThenable<{ [key: string]: string }>;
|
||||
|
||||
function safeGet(url: string) : void;
|
||||
|
||||
function maximizeWindow(width?: number, height?: number) : void; // TODO
|
||||
function resetPosition() : void;
|
||||
function moveToElement(hook: string) : void;
|
||||
function displayHover(element: protractor.ElementFinder) : void;
|
||||
|
||||
function waitForElement(element: protractor.ElementFinder, timeout?: number) : void;
|
||||
function waitForElementToDisappear(element: protractor.ElementFinder, timeout?: number) : void;
|
||||
|
||||
function selectOptionByText(select: protractor.ElementFinder, text: string) : void;
|
||||
function selectOptionByIndex(select: protractor.ElementFinder, index: number) : void;
|
||||
|
||||
function selectOption(option: protractor.ElementFinder) : void
|
||||
|
||||
function isFirefox() : boolean;
|
||||
function isIE() : boolean;
|
||||
|
||||
function createMessage(actual : string, message : string, isNot : any) : string; // isNot : boolean too inflexible
|
||||
function createMessage(actual : protractor.ElementFinder, message : string, isNot : any) : string; // isNot : boolean too inflexible
|
||||
function createMessage(actual : protractor.ElementArrayFinder, message : string, isNot : any) : string; // isNot : boolean too inflexible
|
||||
|
||||
function clearAndSetValue(input : protractor.ElementFinder, value : string) : void; // TODO - sendKeys(value)
|
||||
|
||||
function hasClass(element: protractor.ElementFinder, className: string) : webdriver.promise.IThenable<boolean>;
|
||||
function hasValue(element: protractor.ElementFinder, expectedValue: string) : webdriver.promise.IThenable<boolean>;
|
||||
function hasValue(element: protractor.ElementFinder, expectedValue: number) : webdriver.promise.IThenable<boolean>;
|
||||
function hasLink(element: protractor.ElementFinder, url: string) : webdriver.promise.IThenable<boolean>;
|
||||
function isDisabled(element: protractor.ElementFinder) : webdriver.promise.IThenable<boolean>;
|
||||
function isChecked(element: protractor.ElementFinder) : webdriver.promise.IThenable<boolean>;
|
||||
function getFilteredConsoleErrors() : webdriver.promise.IThenable<string[]>; // TODO - discuss handling in IE
|
||||
|
||||
}
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
|
||||
|
||||
import helpers = require('protractor-helpers');
|
||||
|
||||
declare var $$: any, $: any, by: any, element: any; // ??
|
||||
|
||||
function testElementArrayFinder() {
|
||||
|
||||
var single1 : protractor.ElementFinder = $$('.foo').getByText('Hello');
|
||||
var multiple : protractor.ElementArrayFinder = $$('.foo').$$data('Hello');
|
||||
|
||||
}
|
||||
|
||||
function testElementFinder () {
|
||||
var single2 : protractor.ElementFinder = $('.foo').$data('Hello');
|
||||
}
|
||||
|
||||
function testGlobals() {
|
||||
|
||||
var single : protractor.ElementFinder = $data('Hello');
|
||||
var multiple : protractor.ElementArrayFinder = $$data('Hello');
|
||||
|
||||
}
|
||||
|
||||
function testHelpers() {
|
||||
|
||||
var q0 : webdriver.promise.IThenable<boolean> = helpers.not($('.foo').isDisplayed());
|
||||
// TODO - Check impl
|
||||
var q1 : webdriver.promise.IThenable<{[key: string]:string}> = helpers.translate(["foo", "bar"]);
|
||||
var q2 : webdriver.promise.IThenable<{[key: string]:string}> = helpers.translate(["foo", "bar"], {name: 'foo'});
|
||||
var q3 : webdriver.promise.IThenable<string> = helpers.translate("foo");
|
||||
var q4 : webdriver.promise.IThenable<string> = helpers.translate("foo", {name: 'foo'});
|
||||
|
||||
helpers.safeGet('https://foo/');
|
||||
|
||||
helpers.maximizeWindow(500, 500);
|
||||
helpers.maximizeWindow(500);
|
||||
helpers.maximizeWindow(undefined, 500);
|
||||
helpers.maximizeWindow();
|
||||
|
||||
helpers.resetPosition();
|
||||
helpers.moveToElement(".foo"); // TODO - ?
|
||||
|
||||
helpers.displayHover($('.foo'));
|
||||
|
||||
helpers.waitForElement($('.foo'));
|
||||
helpers.waitForElement($('.foo'), 1000);
|
||||
helpers.waitForElementToDisappear($('.foo'));;
|
||||
helpers.waitForElementToDisappear($('.foo'), 1000);
|
||||
|
||||
helpers.selectOptionByText($('select'), "GB");
|
||||
helpers.selectOptionByIndex($('select'), 1);
|
||||
|
||||
helpers.selectOption($$('select option').first());
|
||||
|
||||
var ff : boolean = helpers.isFirefox();
|
||||
var ie : boolean = helpers.isIE();
|
||||
|
||||
var msg : string = helpers.createMessage("actual", "message", true);
|
||||
var msg : string = helpers.createMessage($('.foo'), "message", true);
|
||||
var msg : string = helpers.createMessage($$('.foo'), "message", true);
|
||||
|
||||
helpers.clearAndSetValue($('input'), 'Foo');
|
||||
|
||||
var hc : webdriver.promise.IThenable<boolean> = helpers.hasClass($('.foo'), 'foo');
|
||||
|
||||
var hv : webdriver.promise.IThenable<boolean> = helpers.hasValue($('input[type=text]'), 'foo');
|
||||
var hv1 : webdriver.promise.IThenable<boolean> = helpers.hasValue($('input[type=numeric]'), 12);
|
||||
var hl : webdriver.promise.IThenable<boolean> = helpers.hasLink($('div'), 'http://foo.com');
|
||||
var disabled : webdriver.promise.IThenable<boolean> = helpers.isDisabled($('foo'));
|
||||
var checked : webdriver.promise.IThenable<boolean> = helpers.isChecked($('foo'));
|
||||
|
||||
var q5 : webdriver.promise.IThenable<string[]> = helpers.getFilteredConsoleErrors();
|
||||
|
||||
}
|
||||
|
||||
function testLocators() {
|
||||
|
||||
element(by.dataHook("foo"));
|
||||
element(by.dataHook("foo", $('.parentfoo')));
|
||||
element(by.dataHook("foo", undefined , ".foo"));
|
||||
element(by.dataHook("foo", $('.parentfoo'), ".foo")); // TODO - This might not make much sense, but can technically be used in working code. Opinions welcome
|
||||
|
||||
element.all(by.dataHook("foo"));
|
||||
element.all(by.dataHook("foo", $('parentfoo')));
|
||||
element.all(by.dataHook("foo", undefined , ".foo"));
|
||||
element.all(by.dataHook("foo", $('parentfoo'), ".foo")); // TODO - This might not make much sense, but can technically be used in working code. Opinions welcome
|
||||
|
||||
}
|
||||
|
||||
function testMatchers() {
|
||||
|
||||
var expectResult : boolean;
|
||||
expectResult = expect($('.foo')).toBePresent();
|
||||
expectResult = expect($('.foo')).toBeDisplayed();
|
||||
expectResult = expect($$('.foo').count()).toHaveCountOf(1);
|
||||
expectResult = expect($('.foo')).toHaveText("bla");
|
||||
expectResult = expect($('.foo')).toMatchRegex(/bla/);
|
||||
expectResult = expect($('.foo').getText()).toMatchMoney(123, "£");
|
||||
expectResult = expect($('.foo').getText()).toMatchMoneyWithFraction(123.45, "£");
|
||||
expectResult = expect($('input')).toHaveValue(12);
|
||||
expectResult = expect($('input')).toHaveValue("bla");
|
||||
expectResult = expect($('.foo')).toHaveClass("foo");
|
||||
expectResult = expect($('.foo')).toHaveUrl('https://foo.com');
|
||||
expectResult = expect($('.foo')).toBeDisabled();
|
||||
expectResult = expect($('.foo')).toBeChecked();
|
||||
expectResult = expect($('.foo')).toBeValid();
|
||||
expectResult = expect($('.foo')).toBeInvalid();
|
||||
expectResult = expect($('.foo')).toBeInvalidRequired();
|
||||
expectResult = expect($('.foo')).toMatchTranslated("foo");
|
||||
expectResult = expect($('.foo')).toMatchTranslated("foo", {foo: "bar"});
|
||||
expectResult = expect($('.foo')).toMatchTranslated(["foo"]);
|
||||
expectResult = expect($('.foo')).toMatchTranslated(["foo", "bla"], {foo: "bar"});
|
||||
|
||||
}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"protractor-helpers-tests.ts"
|
||||
]
|
||||
}
|
||||
284
protractor-http-mock/index.d.ts
vendored
284
protractor-http-mock/index.d.ts
vendored
@@ -1,284 +0,0 @@
|
||||
// Type definitions for protractor-http-mock
|
||||
// Project: https://github.com/atecarlos/protractor-http-mock
|
||||
// Definitions by: Crevil <https://github.com/Crevil>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="selenium-webdriver" />
|
||||
|
||||
declare namespace mock {
|
||||
interface ProtractorHttpMock {
|
||||
/**
|
||||
* Instantiate mock module. This must be done before the browser connects.
|
||||
*
|
||||
* @param mocks An array of mock modules to load into the application.
|
||||
* @param plugins An array of Plugin objects.
|
||||
* @param skipDefaults Set true to skip loading of default mocks.
|
||||
*/
|
||||
<TResponse, TPayload>(mocks?: Array<requests.AllRequests<TResponse, TPayload>>, plugins?: Array<Plugin>, skipDefaults?: boolean): ProtractorHttpMock;
|
||||
|
||||
/**
|
||||
* Instantiate mock module. This must be done before the browser connects.
|
||||
*
|
||||
* @param mocks An array of mock modules to load into the application.
|
||||
* @param plugins An array of NPM modules as strings.
|
||||
* @param skipDefaults Set true to skip loading of default mocks.
|
||||
*/
|
||||
<TResponse, TPayload>(mocks?: Array<requests.AllRequests<TResponse, TPayload>>, plugins?: Array<string>, skipDefaults?: boolean): ProtractorHttpMock;
|
||||
|
||||
/**
|
||||
* Instantiate mock modules from files. This must be done before the browser connects.
|
||||
*
|
||||
* @param mocks An array of mock module names relative to the rootDirectory configuration.
|
||||
* @param plugins An array of Plugin objects.
|
||||
* @param skipDefaults Set true to skip loading of default mocks.
|
||||
*/
|
||||
(mocks: Array<string>, plugins?: Array<Plugin>, skipDefaults?: boolean): ProtractorHttpMock;
|
||||
|
||||
/**
|
||||
* Instantiate mock modules from files. This must be done before the browser connects.
|
||||
*
|
||||
* @param mocks An array of mock module names relative to the rootDirectory configuration.
|
||||
* @param plugins An array of NPM modules as strings.
|
||||
* @param skipDefaults Set true to skip loading of default mocks.
|
||||
*/
|
||||
(mocks: Array<string>, plugins?: Array<string>, skipDefaults?: boolean): ProtractorHttpMock;
|
||||
|
||||
/**
|
||||
* Clean up.
|
||||
* Typically done in the afterEach call to ensure the teardown
|
||||
* is executed regardless of what happens in the test execution.
|
||||
*/
|
||||
teardown(): void;
|
||||
|
||||
/**
|
||||
* Returns a promise that will be resolved with an array of
|
||||
* all matched HTTP requests.
|
||||
*/
|
||||
requestsMade(): webdriver.promise.Promise<Array<ReceivedRequest>>;
|
||||
|
||||
/**
|
||||
* Returns a promise that will be resolved with a true boolean
|
||||
* when all matched HTTP requests are cleared.
|
||||
*/
|
||||
clearRequests(): webdriver.promise.Promise<boolean>;
|
||||
|
||||
/**
|
||||
* Module configuration to setup
|
||||
*/
|
||||
config: {
|
||||
/**
|
||||
* Mocks directory where mock files are located.
|
||||
* Default: process.cwd()
|
||||
*/
|
||||
rootDirectory?: string;
|
||||
|
||||
/**
|
||||
* Path to protractor configuration file.
|
||||
* Default: protractor.conf
|
||||
*/
|
||||
protractorConfig?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add mocks during test execution.
|
||||
* Returns a promise that will be resolved with a true boolean
|
||||
* when mocks are added.
|
||||
*
|
||||
* @param mocks An array of mock modules to load into the application.
|
||||
*/
|
||||
add<T1, T2>(mocks: Array<requests.AllRequests<T1, T2>>): webdriver.promise.Promise<boolean>;
|
||||
|
||||
/**
|
||||
* Remove mocks during test execution.
|
||||
* Returns a promise that will be resolved with a true boolean
|
||||
* when the supplied mocks are removed.
|
||||
*
|
||||
* @param mocks An array of mock modules to remove from the application.
|
||||
*/
|
||||
remove<T1, T2>(mocks: Array<requests.AllRequests<T1, T2>>): webdriver.promise.Promise<boolean>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Matched request.
|
||||
*/
|
||||
interface ReceivedRequest {
|
||||
url: string;
|
||||
method: requests.Method;
|
||||
}
|
||||
|
||||
/**
|
||||
* Plugin for custom matching logic.
|
||||
*/
|
||||
interface Plugin {
|
||||
/**
|
||||
* Match function.
|
||||
* Return a truthy value to indicate successfull match.
|
||||
*
|
||||
* @param mockRequest The mock to compare request with.
|
||||
* @param requestConfig The request object to compare mock with.
|
||||
*/
|
||||
match<T1, T2>(mockRequest: requests.AllRequests<T1, T2>, requestConfig: requests.AllRequests<T1, T2>): boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Plugin for custom matching logic.
|
||||
*/
|
||||
interface Plugin {
|
||||
/**
|
||||
* Match function.
|
||||
* Return a truthy value to indicate successfull match.
|
||||
*
|
||||
* @param mockRequest The mock to compare request with.
|
||||
* @param requestConfig The request object to compare mock with.
|
||||
*/
|
||||
match<T1, T2>(mockRequest: requests.AllRequests<T1, T2>, requestConfig: requests.AllRequests<T1, T2>): boolean;
|
||||
}
|
||||
|
||||
namespace requests {
|
||||
/**
|
||||
* Request methods type
|
||||
*/
|
||||
type Method = "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PATCH" | "JSONP";
|
||||
|
||||
/**
|
||||
* All available request types.
|
||||
*/
|
||||
type AllRequests<T1, T2> = Get<T1> |
|
||||
PostData<T1, T2> |
|
||||
Post<T1> |
|
||||
Head<T1> |
|
||||
Delete<T1> |
|
||||
Put<T1> |
|
||||
Patch<T1> |
|
||||
Jsonp<T1>;
|
||||
|
||||
/**
|
||||
* GET request mock.
|
||||
*/
|
||||
interface Get<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
params?: Object;
|
||||
queryString?: Object;
|
||||
headers?: Object;
|
||||
interceptedRequest?: boolean;
|
||||
interceptedAnonymousRequest?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* POST request mock with payload.
|
||||
*/
|
||||
interface PostData<TResponse, TPayload> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
data: TPayload;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* POST request mock.
|
||||
*/
|
||||
interface Post<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* HEAD request mock.
|
||||
*/
|
||||
interface Head<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTP Delete request mock.
|
||||
*/
|
||||
interface Delete<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* PUT request mock.
|
||||
*/
|
||||
interface Put<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* PATCH request mock.
|
||||
*/
|
||||
interface Patch<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* JSONP request mock.
|
||||
*/
|
||||
interface Jsonp<TResponse> {
|
||||
request: {
|
||||
method: Method;
|
||||
path: string;
|
||||
regex?: boolean;
|
||||
};
|
||||
response: {
|
||||
status?: number;
|
||||
data: TResponse;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
declare var mock: mock.ProtractorHttpMock;
|
||||
export = mock;
|
||||
@@ -1,302 +0,0 @@
|
||||
import mock = require("protractor-http-mock");
|
||||
|
||||
function TestConfig() {
|
||||
mock.config = {
|
||||
rootDirectory: "root",
|
||||
protractorConfig: "protractor.conf.js"
|
||||
};
|
||||
}
|
||||
|
||||
function TestCtorOverloads() {
|
||||
let del: mock.requests.Delete<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'DELETE'
|
||||
},
|
||||
response: {
|
||||
status: 400,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
let put: mock.requests.Put<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'PUT'
|
||||
},
|
||||
response: {
|
||||
status: 400,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
let plugin: mock.Plugin = {
|
||||
match: (mockRequest: mock.requests.Delete<number>, requestConfig: mock.requests.AllRequests<number, number>) => {
|
||||
if (requestConfig.request.method && mockRequest.request.method) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
let noParam: mock.ProtractorHttpMock = mock();
|
||||
let emptyArray: mock.ProtractorHttpMock = mock([]);
|
||||
let mockFiles: mock.ProtractorHttpMock = mock(['mock1', 'mock2']);
|
||||
let mocks: mock.ProtractorHttpMock = mock([del, put]);
|
||||
|
||||
let mockFilesNpmPlugins: mock.ProtractorHttpMock = mock(['mock1'], ['plugin']);
|
||||
let mocksWithNpmPlugins: mock.ProtractorHttpMock = mock([del, put], ['plugin']);
|
||||
|
||||
let pluginMocks: mock.ProtractorHttpMock = mock([del, put], [plugin]);
|
||||
|
||||
let mockFilesNpmPluginsSkipDefaults: mock.ProtractorHttpMock = mock(['mock1'], ['plugin'], true);
|
||||
let skipDefaults: mock.ProtractorHttpMock = mock([del, put], [plugin], true);
|
||||
}
|
||||
|
||||
function TestTeardown() {
|
||||
mock.teardown();
|
||||
}
|
||||
|
||||
function TestRequestsMade() {
|
||||
let values: Array<mock.ReceivedRequest>;
|
||||
mock.requestsMade().then(v => values = v);
|
||||
}
|
||||
|
||||
function TestClearRequests() {
|
||||
let promiseValue: boolean;
|
||||
mock.clearRequests().then(value => {
|
||||
promiseValue = value;
|
||||
});
|
||||
}
|
||||
|
||||
function TestDynamicAdd() {
|
||||
let put: mock.requests.Put<number> = {
|
||||
request: {
|
||||
path: "path",
|
||||
method: "PUT"
|
||||
},
|
||||
response: {
|
||||
status: 400,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
let resolved: boolean;
|
||||
mock.add([put]).then(r => resolved = r);
|
||||
}
|
||||
|
||||
function TestDyanmicRemove() {
|
||||
let put: mock.requests.Put<number> = {
|
||||
request: {
|
||||
path: "path",
|
||||
method: "PUT"
|
||||
},
|
||||
response: {
|
||||
status: 400,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
let resolved: boolean;
|
||||
mock.remove([put]).then(r => resolved = r);
|
||||
}
|
||||
|
||||
function TestGetRequestDefinitions() {
|
||||
let getMinium: mock.requests.Get<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'GET',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
|
||||
let getParams: mock.requests.Get<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'GET',
|
||||
regex: true,
|
||||
params: {
|
||||
param1: 'param1',
|
||||
param2: 2
|
||||
}
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
|
||||
let post: mock.requests.Post<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'POST',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
|
||||
let getQueryString: mock.requests.Get<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'GET',
|
||||
regex: true,
|
||||
queryString: {
|
||||
query1: 'query1',
|
||||
query2: 2
|
||||
}
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
|
||||
let getHeaders: mock.requests.Get<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'GET',
|
||||
regex: true,
|
||||
headers: {
|
||||
head1: 'head1',
|
||||
head2: 'head2'
|
||||
}
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestPostRequestDefinitions() {
|
||||
let post: mock.requests.Post<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'POST',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
|
||||
let postData: mock.requests.PostData<number, string> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'POST',
|
||||
data: 'data',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
data: 1,
|
||||
status: 500
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestHeadRequestDefinitions() {
|
||||
let head: mock.requests.Head<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'HEAD',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
status: 500,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestDeleteRequestDefinitions() {
|
||||
let del: mock.requests.Delete<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'DELETE',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
status: 500,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestPutRequestDefinitions() {
|
||||
let put: mock.requests.Put<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'PUT',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
status: 500,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestPatchRequestDefinitions() {
|
||||
let patch: mock.requests.Patch<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'PATCH',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
status: 500,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestJsonpRequestDefinitions() {
|
||||
let jsonp: mock.requests.Jsonp<number> = {
|
||||
request: {
|
||||
path: 'path',
|
||||
method: 'JSONP',
|
||||
regex: true
|
||||
},
|
||||
response: {
|
||||
status: 500,
|
||||
data: 1
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function TestRuntimeMocks() {
|
||||
mock.add([{
|
||||
request: {
|
||||
path: '/users',
|
||||
method: 'GET',
|
||||
params: {
|
||||
name: 'Charlie'
|
||||
}
|
||||
},
|
||||
response: {
|
||||
data: {
|
||||
name: 'Override'
|
||||
}
|
||||
}
|
||||
}]);
|
||||
|
||||
mock.remove([{
|
||||
request: {
|
||||
path: '/users',
|
||||
method: 'GET',
|
||||
params: {
|
||||
name: 'Charlie'
|
||||
}
|
||||
},
|
||||
response: {
|
||||
data: {
|
||||
name: 'Override'
|
||||
}
|
||||
}
|
||||
}]);
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"protractor-http-mock-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,483 +0,0 @@
|
||||
|
||||
|
||||
function TestWebDriverExports() {
|
||||
var button: number = protractor.Button.LEFT;
|
||||
|
||||
var key: string = protractor.Key.ADD;
|
||||
var chord: string = protractor.Key.chord(protractor.Key.NUMPAD0, protractor.Key.NUMPAD1);
|
||||
|
||||
var driver: protractor.WebDriver = new protractor.Builder().
|
||||
withCapabilities(protractor.Capabilities.chrome()).
|
||||
build();
|
||||
var baseDriver: webdriver.WebDriver = driver;
|
||||
|
||||
var action: protractor.ActionSequence = new protractor.ActionSequence(driver);
|
||||
var baseAction: webdriver.ActionSequence = action;
|
||||
|
||||
var browser: string = protractor.Browser.ANDROID;
|
||||
|
||||
var builder: protractor.Builder = new protractor.Builder();
|
||||
var baseBuilder: webdriver.Builder = builder;
|
||||
|
||||
var capability: string = protractor.Capability.BROWSER_NAME;
|
||||
|
||||
var capabilities: protractor.Capabilities = protractor.Capabilities.chrome();
|
||||
var baseCapabilities: webdriver.Capabilities = capabilities;
|
||||
|
||||
var commandName: string = protractor.CommandName.CLICK_ELEMENT;
|
||||
|
||||
var command: protractor.Command = new protractor.Command(protractor.CommandName.CLICK);
|
||||
var baseCommand: webdriver.Command = command;
|
||||
|
||||
var eventEmitter: protractor.EventEmitter = new protractor.EventEmitter();
|
||||
var baseEventEmitter: webdriver.EventEmitter = eventEmitter;
|
||||
|
||||
var webElement: protractor.WebElement = new protractor.WebElement(driver, new protractor.promise.Promise());
|
||||
var baseWebElement: webdriver.WebElement = webElement;
|
||||
|
||||
var locator: webdriver.Locator = by.id('abc');
|
||||
|
||||
var session: protractor.Session = new protractor.Session('ABC', webdriver.Capabilities.android());
|
||||
var baseSession: webdriver.Session = session;
|
||||
|
||||
locator = protractor.By.name('name');
|
||||
|
||||
var driver: protractor.WebDriver = new protractor.WebDriver(session, <webdriver.CommandExecutor><any>{});
|
||||
driver = new protractor.WebDriver(session, <webdriver.CommandExecutor><any>{}, new webdriver.promise.ControlFlow());
|
||||
var baseDriver: webdriver.WebDriver = driver;
|
||||
|
||||
var webElement: protractor.WebElement = new protractor.WebElement(driver, { ELEMENT: 'abc' });
|
||||
var baseWebElement: webdriver.WebElement = webElement;
|
||||
|
||||
var webElementPromise: protractor.WebElementPromise = new protractor.WebElementPromise(driver, { ELEMENT: 'abc' });
|
||||
var baseWebElementPromise: webdriver.WebElementPromise = webElementPromise;
|
||||
}
|
||||
|
||||
function TestWebDriverErrorModule() {
|
||||
var errorCode: number = protractor.error.ErrorCode.ELEMENT_NOT_VISIBLE;
|
||||
var error: protractor.error.Error = new protractor.error.Error(protractor.error.ErrorCode.ELEMENT_NOT_VISIBLE);
|
||||
var baseError: webdriver.error.Error = error;
|
||||
}
|
||||
|
||||
function TestWebDriverLoggingModule() {
|
||||
var levelName: string = protractor.logging.Level.ALL.name;
|
||||
var loggingType: string = protractor.logging.Type.CLIENT;
|
||||
|
||||
var level: webdriver.logging.ILevel = protractor.logging.Level.ALL;
|
||||
|
||||
var entry: protractor.logging.Entry = new protractor.logging.Entry(protractor.logging.Level.ALL, 'Message');
|
||||
var baseEntry: webdriver.logging.Entry = entry;
|
||||
|
||||
level = protractor.logging.getLevel('DEBUG');
|
||||
|
||||
var prefs: protractor.logging.Preferences = new protractor.logging.Preferences();
|
||||
}
|
||||
|
||||
function TestWebDriverPromiseModule() {
|
||||
var cancelError: protractor.promise.CancellationError = new protractor.promise.CancellationError();
|
||||
cancelError = new protractor.promise.CancellationError('message');
|
||||
var baseCancelError: webdriver.promise.CancellationError = cancelError;
|
||||
|
||||
var thenable: protractor.promise.Thenable<any> = new protractor.promise.Thenable();
|
||||
var baseThenable: webdriver.promise.Thenable<any> = thenable;
|
||||
|
||||
var promise: protractor.promise.Promise<any> = new protractor.promise.Promise();
|
||||
var basePromise: webdriver.promise.Promise<any> = promise;
|
||||
|
||||
var deferred: protractor.promise.Deferred<any> = new protractor.promise.Deferred();
|
||||
var baseDeferred: webdriver.promise.Deferred<any> = deferred;
|
||||
|
||||
var flow: protractor.promise.ControlFlow = new protractor.promise.ControlFlow();
|
||||
var baseFlow: webdriver.promise.ControlFlow = flow;
|
||||
|
||||
var arrayPromise: protractor.promise.Promise<any[]> = protractor.promise.all([new protractor.promise.Promise<number>(), new protractor.promise.Promise<string>()]);
|
||||
|
||||
protractor.promise.asap(promise, function (value: any) { return true; });
|
||||
protractor.promise.asap(promise, function (value: any) { }, function (err: any) { return 'ABC'; });
|
||||
|
||||
promise = protractor.promise.checkedNodeCall(function (err: any, value: any) { return 123; });
|
||||
|
||||
promise = protractor.promise.consume(function () {
|
||||
return 5;
|
||||
});
|
||||
promise = protractor.promise.consume(function () {
|
||||
return 5;
|
||||
}, this);
|
||||
promise = protractor.promise.consume(function () {
|
||||
return 5;
|
||||
}, this, 1, 2, 3);
|
||||
|
||||
flow = protractor.promise.controlFlow();
|
||||
|
||||
promise = protractor.promise.createFlow(function (newFlow: webdriver.promise.ControlFlow) { });
|
||||
|
||||
deferred = protractor.promise.defer();
|
||||
|
||||
promise = protractor.promise.delayed(123);
|
||||
|
||||
var numbersPromise: protractor.promise.Promise<number[]> = protractor.promise.filter([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = protractor.promise.filter([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
numbersPromise = protractor.promise.filter(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = protractor.promise.filter(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
|
||||
numbersPromise = protractor.promise.map([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = protractor.promise.map([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
numbersPromise = protractor.promise.map(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = protractor.promise.map(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
|
||||
promise = protractor.promise.fulfilled();
|
||||
promise = protractor.promise.fulfilled({ a: 123 });
|
||||
|
||||
promise = protractor.promise.fullyResolved({ a: 123 });
|
||||
|
||||
var bool: boolean = protractor.promise.isGenerator(function () { });
|
||||
var bool: boolean = protractor.promise.isPromise('ABC');
|
||||
|
||||
promise = protractor.promise.rejected({ a: 123 });
|
||||
|
||||
protractor.promise.setDefaultFlow(new webdriver.promise.ControlFlow());
|
||||
|
||||
promise = protractor.promise.when(promise, function (value: any) { return 123; }, function (err: Error) { return 123; });
|
||||
}
|
||||
|
||||
function TestWebDriverStacktraceModule() {
|
||||
var bool: boolean = protractor.stacktrace.BROWSER_SUPPORTED;
|
||||
|
||||
var frame: protractor.stacktrace.Frame = new protractor.stacktrace.Frame();
|
||||
var baseFrame: webdriver.stacktrace.Frame = frame;
|
||||
|
||||
var snapshot: protractor.stacktrace.Snapshot = new protractor.stacktrace.Snapshot();
|
||||
var baseSnapshot: webdriver.stacktrace.Snapshot = snapshot;
|
||||
|
||||
var err: Error = protractor.stacktrace.format(new Error("Error"));
|
||||
var frames: protractor.stacktrace.Frame[] = protractor.stacktrace.get();
|
||||
}
|
||||
|
||||
function TestWebDriverUntilModule() {
|
||||
var conditionB: protractor.until.Condition<boolean> = new protractor.until.Condition<boolean>('message', function (driver: webdriver.WebDriver) { return true; });
|
||||
var conditionBBase: webdriver.until.Condition<boolean> = conditionB;
|
||||
var conditionWebElement: protractor.until.Condition<webdriver.IWebElement>;
|
||||
var conditionWebElements: protractor.until.Condition<webdriver.IWebElement[]>;
|
||||
|
||||
conditionB = protractor.until.ableToSwitchToFrame(5);
|
||||
var conditionAlert: protractor.until.Condition<webdriver.Alert> = protractor.until.alertIsPresent();
|
||||
var el: protractor.ElementFinder = element(by.id('id'));
|
||||
conditionB = protractor.until.elementIsDisabled(el);
|
||||
conditionB = protractor.until.elementIsEnabled(el);
|
||||
conditionB = protractor.until.elementIsNotSelected(el);
|
||||
conditionB = protractor.until.elementIsNotVisible(el);
|
||||
conditionB = protractor.until.elementIsSelected(el);
|
||||
conditionB = protractor.until.elementIsVisible(el);
|
||||
conditionB = protractor.until.elementTextContains(el, 'text');
|
||||
conditionB = protractor.until.elementTextIs(el, 'text');
|
||||
conditionB = protractor.until.elementTextMatches(el, /text/);
|
||||
conditionB = protractor.until.stalenessOf(el);
|
||||
conditionB = protractor.until.titleContains('text');
|
||||
conditionB = protractor.until.titleIs('text');
|
||||
conditionB = protractor.until.titleMatches(/text/);
|
||||
|
||||
conditionWebElement = protractor.until.elementLocated(by.id('id'));
|
||||
conditionWebElements = protractor.until.elementsLocated(by.className('class'));
|
||||
}
|
||||
|
||||
function TestWebDriverExpectedConditionsModule() {
|
||||
var conditionB: protractor.until.Condition<boolean>;
|
||||
var el: protractor.ElementFinder = element(by.id('id'));
|
||||
|
||||
conditionB = protractor.ExpectedConditions.alertIsPresent();
|
||||
conditionB = protractor.ExpectedConditions.elementToBeClickable(el);
|
||||
conditionB = protractor.ExpectedConditions.textToBePresentInElement(el, 'text');
|
||||
conditionB = protractor.ExpectedConditions.textToBePresentInElementValue(el, 'text');
|
||||
conditionB = protractor.ExpectedConditions.titleContains('text');
|
||||
conditionB = protractor.ExpectedConditions.titleIs('text');
|
||||
conditionB = protractor.ExpectedConditions.presenceOf(el);
|
||||
conditionB = protractor.ExpectedConditions.stalenessOf(el);
|
||||
conditionB = protractor.ExpectedConditions.visibilityOf(el);
|
||||
conditionB = protractor.ExpectedConditions.invisibilityOf(el);
|
||||
conditionB = protractor.ExpectedConditions.elementToBeSelected(el);
|
||||
|
||||
conditionB = protractor.ExpectedConditions.not(protractor.ExpectedConditions.alertIsPresent());
|
||||
conditionB = protractor.ExpectedConditions.and(protractor.ExpectedConditions.alertIsPresent(), protractor.ExpectedConditions.elementToBeClickable(el));
|
||||
conditionB = protractor.ExpectedConditions.or(protractor.ExpectedConditions.alertIsPresent(), protractor.ExpectedConditions.elementToBeClickable(el));
|
||||
}
|
||||
|
||||
function TestProtractor() {
|
||||
var ptor: protractor.Protractor;
|
||||
var driver: webdriver.WebDriver = new webdriver.Builder().
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
ptor = protractor.wrapDriver(driver);
|
||||
ptor = protractor.wrapDriver(driver, 'baseUrl');
|
||||
ptor = protractor.wrapDriver(driver, 'baseUrl', 'rootElement');
|
||||
|
||||
ptor = browser;
|
||||
|
||||
var actions: protractor.ActionSequence = ptor.actions();
|
||||
|
||||
var promise: protractor.promise.Promise<any> = ptor.call(function () { });
|
||||
var promise: protractor.promise.Promise<any> = ptor.call(function () { }, this);
|
||||
var promise: protractor.promise.Promise<any> = ptor.call(function (a: number, b: number, c:number) { }, this, 1, 2,3);
|
||||
|
||||
promise = ptor.executeAsyncScript('SomeScript');
|
||||
promise = ptor.executeAsyncScript('SomeScript', 1, 2, 3);
|
||||
promise = ptor.executeAsyncScript(function () { });
|
||||
promise = ptor.executeAsyncScript(function (a: number, b: number, c: number) { }, 1, 2, 3);
|
||||
|
||||
promise = ptor.executeScript('SomeScript');
|
||||
promise = ptor.executeScript('SomeScript', 1, 2, 3);
|
||||
promise = ptor.executeScript(function () { });
|
||||
promise = ptor.executeScript(function (a: number, b: number, c: number) { }, 1, 2, 3);
|
||||
|
||||
ptor = browser.forkNewDriverInstance();
|
||||
ptor = browser.forkNewDriverInstance(true);
|
||||
ptor = browser.forkNewDriverInstance(true, false);
|
||||
|
||||
driver = ptor.driver;
|
||||
var baseUrl: string = ptor.baseUrl;
|
||||
var rootEl: string = ptor.rootEl;
|
||||
var ignoreSynchronization: boolean = ptor.ignoreSynchronization;
|
||||
var params: any = ptor.params;
|
||||
ptor.resetUrl = "url";
|
||||
|
||||
ptor.debugger();
|
||||
ptor.close();
|
||||
var controlFlow: protractor.promise.ControlFlow = ptor.controlFlow();
|
||||
|
||||
var webElement: protractor.WebElement = ptor.findElement(by.css('.class'));
|
||||
ptor.findElements(by.css('.class')).then(function (elements: webdriver.WebElement[]) { });
|
||||
ptor.isElementPresent(by.css('.class')).then(function (present: boolean) { });
|
||||
ptor.isElementPresent(webElement).then(function (present: boolean) { });
|
||||
|
||||
ptor.clearMockModules();
|
||||
ptor.addMockModule('name', 'script');
|
||||
ptor.addMockModule('name', function() {});
|
||||
ptor.removeMockModule('name');
|
||||
ptor.waitForAngular();
|
||||
|
||||
var elementFinder: protractor.ElementFinder;
|
||||
var elementArrayFinder: protractor.ElementArrayFinder;
|
||||
|
||||
elementFinder = ptor.element(by.id('ABC'));
|
||||
elementFinder = ptor.$('.class');
|
||||
|
||||
elementArrayFinder = ptor.$$('.class');
|
||||
|
||||
var locationAbsUrl: webdriver.promise.Promise<string> = ptor.getLocationAbsUrl();
|
||||
ptor.setLocation('webaddress.com');
|
||||
|
||||
var voidPromise: webdriver.promise.Promise<void> = ptor.get('webaddress.com');
|
||||
voidPromise = ptor.get('webdaddress.com', 45);
|
||||
voidPromise = ptor.quit();
|
||||
voidPromise = ptor.sleep(5000);
|
||||
|
||||
ptor.refresh();
|
||||
ptor.refresh(45);
|
||||
var navigation: webdriver.WebDriverNavigation = ptor.navigate();
|
||||
ptor.pause();
|
||||
ptor.pause(8080);
|
||||
|
||||
ptor.getAllWindowHandles().then(function (handles: string[]) { });
|
||||
|
||||
var capabilities: protractor.promise.Promise<protractor.Capabilities> = ptor.getCapabilities();
|
||||
|
||||
var stringPromise: webdriver.promise.Promise<string>;
|
||||
stringPromise = ptor.getCurrentUrl();
|
||||
stringPromise = ptor.getPageSource();
|
||||
stringPromise = ptor.getTitle();
|
||||
stringPromise = ptor.getWindowHandle();
|
||||
stringPromise = ptor.takeScreenshot();
|
||||
|
||||
ptor.getPageTimeout = 5000;
|
||||
|
||||
var session: protractor.promise.Promise<protractor.Session> = ptor.getSession();
|
||||
|
||||
var options: webdriver.WebDriverOptions = ptor.manage();
|
||||
|
||||
promise = ptor.schedule(new protractor.Command(protractor.CommandName.ACCEPT_ALERT), 'asdf');
|
||||
|
||||
var targetLocator: webdriver.WebDriverTargetLocator = ptor.switchTo();
|
||||
|
||||
ptor.wait(protractor.until.elementLocated(by.id('id')), 5000).then(function (el: webdriver.IWebElement) { });;
|
||||
ptor.wait(protractor.until.elementLocated(by.id('id')), 5000, 'message').then(function (el: webdriver.IWebElement) { });;
|
||||
}
|
||||
|
||||
function TestElement() {
|
||||
var elementFinder: protractor.ElementFinder = element(by.id('id'));
|
||||
var elementArrayFinder: protractor.ElementArrayFinder = element.all(by.className('class'));
|
||||
}
|
||||
|
||||
function TestElementFinder() {
|
||||
var elementFinder: protractor.ElementFinder = element(by.id('id'));
|
||||
var voidPromise: webdriver.promise.Promise<void>;
|
||||
var stringPromise: webdriver.promise.Promise<string>;
|
||||
var booleanPromise: webdriver.promise.Promise<boolean>;
|
||||
|
||||
elementFinder.getId().then(function (id: webdriver.IWebElementId) { });
|
||||
voidPromise = elementFinder.click();
|
||||
elementFinder = elementFinder.allowAnimations('string');
|
||||
voidPromise = elementFinder.sendKeys(protractor.Key.UP, protractor.Key.DOWN);
|
||||
stringPromise = elementFinder.getTagName();
|
||||
stringPromise = elementFinder.getCssValue('display');
|
||||
stringPromise = elementFinder.getAttribute('atribute');
|
||||
stringPromise = elementFinder.getText();
|
||||
elementFinder.getSize().then(function (size: webdriver.ISize) { });
|
||||
elementFinder.getLocation().then(function (location: webdriver.ILocation) { });
|
||||
booleanPromise = elementFinder.isEnabled();
|
||||
booleanPromise = elementFinder.isSelected();
|
||||
voidPromise = elementFinder.submit();
|
||||
voidPromise = elementFinder.clear();
|
||||
booleanPromise = elementFinder.isDisplayed();
|
||||
stringPromise = elementFinder.getOuterHtml();
|
||||
stringPromise = elementFinder.getInnerHtml();
|
||||
booleanPromise = elementFinder.isElementPresent(by.id('id'));
|
||||
elementFinder = elementFinder.$('.class');
|
||||
var finders: protractor.ElementArrayFinder = elementFinder.$$('.class');
|
||||
elementFinder = elementFinder.evaluate('expression');
|
||||
booleanPromise = elementFinder.isPresent();
|
||||
|
||||
var webElement: webdriver.WebElement = elementFinder.getWebElement();
|
||||
finders = elementFinder.all(by.className('class'));
|
||||
elementFinder = elementFinder.allowAnimations('abc');
|
||||
elementFinder = elementFinder.clone();
|
||||
elementFinder = elementFinder.element(by.id('id'));
|
||||
|
||||
var b: boolean = elementFinder.isPending();
|
||||
var locator: webdriver.Locator = elementFinder.locator();
|
||||
}
|
||||
|
||||
function TestElementArrayFinder() {
|
||||
var elementArrayFinder: protractor.ElementArrayFinder = element.all(by.id('id'));
|
||||
|
||||
var voidPromise: webdriver.promise.Promise<void>;
|
||||
var stringPromise: webdriver.promise.Promise<string[]>;
|
||||
var booleanPromise: webdriver.promise.Promise<boolean[]>;
|
||||
|
||||
elementArrayFinder.getId().then(function (id: webdriver.IWebElementId[]) { });
|
||||
voidPromise = elementArrayFinder.click();
|
||||
elementArrayFinder = elementArrayFinder.allowAnimations(true);
|
||||
voidPromise = elementArrayFinder.sendKeys(protractor.Key.UP, protractor.Key.DOWN);
|
||||
stringPromise = elementArrayFinder.getTagName();
|
||||
stringPromise = elementArrayFinder.getCssValue('display');
|
||||
stringPromise = elementArrayFinder.getAttribute('atribute');
|
||||
stringPromise = elementArrayFinder.getText();
|
||||
elementArrayFinder.getSize().then(function (size: webdriver.ISize[]) { });
|
||||
elementArrayFinder.getLocation().then(function (location: webdriver.ILocation[]) { });
|
||||
booleanPromise = elementArrayFinder.isEnabled();
|
||||
booleanPromise = elementArrayFinder.isSelected();
|
||||
voidPromise = elementArrayFinder.submit();
|
||||
voidPromise = elementArrayFinder.clear();
|
||||
booleanPromise = elementArrayFinder.isDisplayed();
|
||||
stringPromise = elementArrayFinder.getOuterHtml();
|
||||
stringPromise = elementArrayFinder.getInnerHtml();
|
||||
var finders: protractor.ElementArrayFinder = elementArrayFinder.$$('.class');
|
||||
elementArrayFinder = elementArrayFinder.evaluate('expression');
|
||||
|
||||
finders = elementArrayFinder.all(by.className('class'));
|
||||
elementArrayFinder = elementArrayFinder.clone();
|
||||
|
||||
var b: boolean = elementArrayFinder.isPending();
|
||||
var locator: webdriver.Locator = elementArrayFinder.locator();
|
||||
|
||||
var findersArrayPromise: protractor.promise.Promise<protractor.ElementFinder[]> = elementArrayFinder.asElementFinders_();
|
||||
|
||||
var driverElementArray: webdriver.WebElement[] = elementArrayFinder.getWebElements();
|
||||
var elementFinder: protractor.ElementFinder = elementArrayFinder.get(42);
|
||||
elementFinder = elementArrayFinder.first();
|
||||
elementFinder = elementArrayFinder.last();
|
||||
elementFinder = elementArrayFinder.toElementFinder_()
|
||||
var numberPromise: protractor.promise.Promise<number> = elementArrayFinder.count();
|
||||
elementArrayFinder.each(function(element: protractor.ElementFinder){
|
||||
// nothing
|
||||
});
|
||||
|
||||
stringPromise = elementArrayFinder.map(function(element: protractor.ElementFinder, index: number){
|
||||
return 'abc';
|
||||
});
|
||||
|
||||
stringPromise = elementArrayFinder.map<string>(function(element: protractor.ElementFinder, index: number): string {
|
||||
return 'abc';
|
||||
});
|
||||
|
||||
stringPromise = elementArrayFinder.map<string, webdriver.promise.Promise<string>>(function(element: protractor.ElementFinder, index: number): webdriver.promise.Promise<string> {
|
||||
return element.getText();
|
||||
});
|
||||
|
||||
elementArrayFinder = elementArrayFinder.filter(function(element: protractor.ElementFinder, index: number){
|
||||
return element.getText().then((text: string) => {
|
||||
return text === "foo";
|
||||
});
|
||||
});
|
||||
elementArrayFinder.reduce(function (accumulator: string, element: protractor.ElementFinder) {
|
||||
return element.getText().then((text: string) => {
|
||||
return accumulator + ',' + text;
|
||||
});
|
||||
}, '').then(function (result: string) { });
|
||||
elementArrayFinder.reduce(function(accumulator: string, element: protractor.ElementFinder, index: number, array: protractor.ElementFinder[]){
|
||||
return element.getText().then((text: string) => {
|
||||
return accumulator + ',' + text;
|
||||
});
|
||||
}, '').then(function (result: string) { });
|
||||
elementArrayFinder.then(function(underlyingElementFinders: protractor.ElementFinder[]){
|
||||
//nothing
|
||||
});
|
||||
}
|
||||
|
||||
// This function tests the locator strategies.
|
||||
function TestLocatorStrategies() {
|
||||
var ptor: protractor.Protractor = browser;
|
||||
var webElement: webdriver.WebElement;
|
||||
|
||||
protractor.By.addLocator('customLocator', 'script');
|
||||
protractor.By.addLocator('customLocator2', function(){
|
||||
// nothing
|
||||
});
|
||||
|
||||
// Angular specific locators.
|
||||
webElement = ptor.findElement(protractor.By.binding('binding'));
|
||||
webElement = ptor.findElement(protractor.By.exactBinding('exactBinding'));
|
||||
webElement = ptor.findElement(protractor.By.model('model'));
|
||||
webElement = ptor.findElement(protractor.By.repeater('repeater'));
|
||||
webElement = ptor.findElement(protractor.By.repeater('repeater').column(0));
|
||||
webElement = ptor.findElement(protractor.By.repeater('repeater').row(0));
|
||||
webElement = ptor.findElement(protractor.By.repeater('repeater').row(0).column(0));
|
||||
webElement = ptor.findElement(protractor.By.buttonText('buttonText'));
|
||||
webElement = ptor.findElement(protractor.By.partialButtonText('partialButtonText'));
|
||||
webElement = ptor.findElement(protractor.By.cssContainingText('cssSelector', 'search text'));
|
||||
webElement = ptor.findElement(protractor.By.options('options'));
|
||||
// One standard locator for good measure.
|
||||
webElement = ptor.findElement(protractor.By.id('id'));
|
||||
|
||||
var el: protractor.ElementFinder;
|
||||
|
||||
// Angular specific locators.
|
||||
el = element(by.binding('binding'));
|
||||
el = element(by.exactBinding('exactBinding'));
|
||||
el = element(by.model('model'));
|
||||
el = element(by.repeater('repeater'));
|
||||
el = element(by.repeater('repeater').column(0));
|
||||
el = element(by.repeater('repeater').row(0));
|
||||
el = element(by.repeater('repeater').row(0).column(0));
|
||||
el = element(by.buttonText('buttonText'));
|
||||
el = element(by.partialButtonText('partialButtonText'));
|
||||
el = element(by.cssContainingText('cssSelector', 'search text'));
|
||||
el = element(by.options('options'));
|
||||
// One standard locator for good measure.
|
||||
el = element(by.id('id'));
|
||||
}
|
||||
1849
protractor/index.d.ts
vendored
1849
protractor/index.d.ts
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"angular-protractor-tests.ts"
|
||||
]
|
||||
}
|
||||
4116
selenium-webdriver/index.d.ts
vendored
4116
selenium-webdriver/index.d.ts
vendored
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
function TestChromeDriver() {
|
||||
var driver: chrome.Driver = new chrome.Driver();
|
||||
driver = new chrome.Driver(webdriver.Capabilities.chrome());
|
||||
driver = new chrome.Driver(webdriver.Capabilities.chrome(), new webdriver.promise.ControlFlow());
|
||||
driver = new chrome.Driver(webdriver.Capabilities.chrome(), new remote.DriverService('executable', new chrome.Options()), new webdriver.promise.ControlFlow());
|
||||
|
||||
var baseDriver: webdriver.WebDriver = driver;
|
||||
}
|
||||
@@ -31,7 +31,6 @@ function TestChromeOptions() {
|
||||
options = options.setUserPreferences("preferences");
|
||||
var capabilities: webdriver.Capabilities = options.toCapabilities();
|
||||
capabilities = options.toCapabilities(webdriver.Capabilities.chrome());
|
||||
var values: chrome.IOptionsValues = options.toJSON();
|
||||
}
|
||||
|
||||
function TestServiceBuilder() {
|
||||
@@ -52,7 +51,7 @@ function TestServiceBuilder() {
|
||||
|
||||
function TestChromeModule() {
|
||||
var service: any = chrome.getDefaultService();
|
||||
chrome.setDefaultService({});
|
||||
chrome.setDefaultService(new remote.DriverService('executable', new chrome.Options()));
|
||||
}
|
||||
|
||||
function TestBinary() {
|
||||
@@ -66,8 +65,8 @@ function TestBinary() {
|
||||
|
||||
function TestFirefoxDriver() {
|
||||
var driver: firefox.Driver = new firefox.Driver();
|
||||
driver = new chrome.Driver(webdriver.Capabilities.firefox());
|
||||
driver = new chrome.Driver(webdriver.Capabilities.firefox(), new webdriver.promise.ControlFlow());
|
||||
driver = new firefox.Driver(webdriver.Capabilities.firefox());
|
||||
driver = new firefox.Driver(webdriver.Capabilities.firefox(), new webdriver.promise.ControlFlow());
|
||||
|
||||
var baseDriver: webdriver.WebDriver = driver;
|
||||
}
|
||||
@@ -82,7 +81,6 @@ function TestFirefoxOptions() {
|
||||
options = options.setProfile(new firefox.Profile());
|
||||
options = options.setProxy({ proxyType: "proxy" });
|
||||
var capabilities: webdriver.Capabilities = options.toCapabilities();
|
||||
var capabilities: webdriver.Capabilities = options.toCapabilities({});
|
||||
}
|
||||
|
||||
function TestFirefoxProfile() {
|
||||
@@ -108,7 +106,7 @@ function TestFirefoxProfile() {
|
||||
}
|
||||
|
||||
function TestExecutors() {
|
||||
var exec: webdriver.CommandExecutor = executors.createExecutor("url");
|
||||
var exec: webdriver.Executor = executors.createExecutor("url");
|
||||
var promise: webdriver.promise.Promise<string>;
|
||||
exec = executors.createExecutor(promise);
|
||||
}
|
||||
@@ -144,7 +142,9 @@ function TestActionSequence() {
|
||||
build();
|
||||
|
||||
var sequence: webdriver.ActionSequence = new webdriver.ActionSequence(driver);
|
||||
var element: webdriver.WebElement = new webdriver.WebElement(driver, { ELEMENT: 'id' });
|
||||
var element: webdriver.WebElement = new webdriver.WebElement(driver, 'elementId');
|
||||
var promise: webdriver.promise.Promise<string>;
|
||||
element = new webdriver.WebElement(driver, promise);
|
||||
|
||||
// Click
|
||||
sequence = sequence.click();
|
||||
@@ -187,7 +187,6 @@ function TestActionSequence() {
|
||||
|
||||
// SendKeys
|
||||
sequence = sequence.sendKeys("A", "B", "C");
|
||||
sequence = sequence.sendKeys(["A", "B", "C"]);
|
||||
|
||||
sequence.perform().then(function () { });
|
||||
}
|
||||
@@ -196,7 +195,7 @@ function TestTouchSequence() {
|
||||
var driver: webdriver.WebDriver = new webdriver.Builder().
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
var element: webdriver.WebElement = new webdriver.WebElement(driver, { ELEMENT: 'id' });
|
||||
var element: webdriver.WebElement = new webdriver.WebElement(driver, 'elementId');
|
||||
|
||||
var sequence: webdriver.TouchSequence = new webdriver.TouchSequence(driver);
|
||||
|
||||
@@ -319,9 +318,9 @@ function TestCommand() {
|
||||
command = command.setParameters({ param: 123 });
|
||||
}
|
||||
|
||||
function TestCommandExecutor() {
|
||||
var c: webdriver.CommandExecutor = { execute: function (command: webdriver.Command, callback: (error: Error, obj: any) => any) { } };
|
||||
c.execute(new webdriver.Command('name'), function (error: Error, response: any) { });
|
||||
function TestDeferredExecutor() {
|
||||
var promise: webdriver.promise.Promise<webdriver.Executor>;
|
||||
var executor: webdriver.DeferredExecutor = new webdriver.DeferredExecutor(promise);
|
||||
}
|
||||
|
||||
function TestCommandName() {
|
||||
@@ -458,7 +457,7 @@ function TestEventEmitter() {
|
||||
}
|
||||
|
||||
function TestKey() {
|
||||
var key: string;
|
||||
var key: webdriver.Key;
|
||||
|
||||
key = webdriver.Key.ADD;
|
||||
key = webdriver.Key.ALT;
|
||||
@@ -520,35 +519,15 @@ function TestKey() {
|
||||
key = webdriver.Key.SUBTRACT;
|
||||
key = webdriver.Key.TAB;
|
||||
key = webdriver.Key.UP;
|
||||
|
||||
key = webdriver.Key.chord(webdriver.Key.NUMPAD0, webdriver.Key.NUMPAD1);
|
||||
}
|
||||
|
||||
function TestLocator() {
|
||||
function TestBy() {
|
||||
var driver: webdriver.WebDriver = new webdriver.Builder().
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var locator: webdriver.Locator = new webdriver.Locator('class name', 'class');
|
||||
var locator: webdriver.By = new webdriver.By('class name', 'class');
|
||||
|
||||
var locatorOrFn: webdriver.Locator|Function;
|
||||
|
||||
locatorOrFn = webdriver.Locator.Strategy.className;
|
||||
locatorOrFn = webdriver.Locator.Strategy.css;
|
||||
locatorOrFn = webdriver.Locator.Strategy.id;
|
||||
locatorOrFn = webdriver.Locator.Strategy.js;
|
||||
locatorOrFn = webdriver.Locator.Strategy.linkText;
|
||||
locatorOrFn = webdriver.Locator.Strategy.name;
|
||||
locatorOrFn = webdriver.Locator.Strategy.partialLinkText;
|
||||
locatorOrFn = webdriver.Locator.Strategy.tagName;
|
||||
locatorOrFn = webdriver.Locator.Strategy.xpath;
|
||||
|
||||
locatorOrFn = webdriver.Locator.checkLocator(locator);
|
||||
locatorOrFn = webdriver.Locator.checkLocator({ className: 'class' });
|
||||
locatorOrFn = webdriver.Locator.checkLocator(Error);
|
||||
|
||||
var using: string = locator.using;
|
||||
var value: string = locator.value;
|
||||
var str: string = locator.toString();
|
||||
|
||||
locator = webdriver.By.className('class');
|
||||
@@ -563,7 +542,7 @@ function TestLocator() {
|
||||
// Can import "By" without import declarations
|
||||
var By = webdriver.By;
|
||||
|
||||
var locatorHash: webdriver.By.Hash;
|
||||
var locatorHash: webdriver.ByHash;
|
||||
locatorHash = { className: 'class' };
|
||||
locatorHash = { css: 'css' };
|
||||
locatorHash = { id: 'id' };
|
||||
@@ -591,9 +570,7 @@ function TestSession() {
|
||||
|
||||
function TestUnhandledAlertError() {
|
||||
var someFunc = function (error: webdriver.UnhandledAlertError) {
|
||||
var baseError: webdriver.error.Error = error;
|
||||
|
||||
var alert: webdriver.Alert = error.getAlert();
|
||||
var baseError: Error = error;
|
||||
var str: string = error.getAlertText();
|
||||
str = error.toString();
|
||||
}
|
||||
@@ -614,7 +591,7 @@ function TestWebDriverLogs() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var logs: webdriver.WebDriverLogs = new webdriver.WebDriver.Logs(driver);
|
||||
var logs: webdriver.Logs = new webdriver.Logs(driver);
|
||||
|
||||
logs.get(webdriver.logging.Type.BROWSER).then(function (entries: webdriver.logging.Entry[]) { });;
|
||||
logs.getAvailableLogTypes().then(function (types: string[]) { });
|
||||
@@ -625,7 +602,7 @@ function TestWebDriverNavigation() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var navigation: webdriver.WebDriverNavigation = new webdriver.WebDriver.Navigation(driver);
|
||||
var navigation: webdriver.Navigation = new webdriver.Navigation(driver);
|
||||
|
||||
navigation.back().then(function () { });
|
||||
navigation.forward().then(function () { });
|
||||
@@ -638,7 +615,7 @@ function TestWebDriverOptions() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var options: webdriver.WebDriverOptions = new webdriver.WebDriver.Options(driver);
|
||||
var options: webdriver.Options = new webdriver.Options(driver);
|
||||
var promise: webdriver.promise.Promise<void>;
|
||||
|
||||
// Add Cookie
|
||||
@@ -654,9 +631,9 @@ function TestWebDriverOptions() {
|
||||
options.getCookie('name').then(function (cookies: webdriver.IWebDriverOptionsCookie) { });
|
||||
options.getCookies().then(function (cookies: webdriver.IWebDriverOptionsCookie[]) { });
|
||||
|
||||
var logs: webdriver.WebDriverLogs = options.logs();
|
||||
var timeouts: webdriver.WebDriverTimeouts = options.timeouts();
|
||||
var window: webdriver.WebDriverWindow = options.window();
|
||||
var logs: webdriver.Logs = options.logs();
|
||||
var timeouts: webdriver.Timeouts = options.timeouts();
|
||||
var window: webdriver.Window = options.window();
|
||||
}
|
||||
|
||||
function TestWebDriverTargetLocator() {
|
||||
@@ -664,13 +641,12 @@ function TestWebDriverTargetLocator() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var locator: webdriver.WebDriverTargetLocator = new webdriver.WebDriver.TargetLocator(driver);
|
||||
var locator: webdriver.TargetLocator = new webdriver.TargetLocator(driver);
|
||||
var promise: webdriver.promise.Promise<void>;
|
||||
|
||||
var element: webdriver.WebElement = locator.activeElement();
|
||||
var alert: webdriver.Alert = locator.alert();
|
||||
promise = locator.defaultContent();
|
||||
promise = locator.frame('name');
|
||||
promise = locator.frame(1);
|
||||
promise = locator.window('nameOrHandle');
|
||||
}
|
||||
@@ -680,7 +656,7 @@ function TestWebDriverTimeouts() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var timeouts: webdriver.WebDriverTimeouts = new webdriver.WebDriver.Timeouts(driver);
|
||||
var timeouts: webdriver.Timeouts = new webdriver.Timeouts(driver);
|
||||
var promise: webdriver.promise.Promise<void>;
|
||||
|
||||
promise = timeouts.implicitlyWait(123);
|
||||
@@ -693,7 +669,7 @@ function TestWebDriverWindow() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var window: webdriver.WebDriverWindow = new webdriver.WebDriver.Window(driver);
|
||||
var window: webdriver.Window = new webdriver.Window(driver);
|
||||
var locationPromise: webdriver.promise.Promise<webdriver.ILocation>;
|
||||
var sizePromise: webdriver.promise.Promise<webdriver.ISize>;
|
||||
var voidPromise: webdriver.promise.Promise<void>;
|
||||
@@ -708,7 +684,7 @@ function TestWebDriverWindow() {
|
||||
function TestWebDriver() {
|
||||
var session: webdriver.Session = new webdriver.Session('ABC', webdriver.Capabilities.android());
|
||||
var sessionPromise: webdriver.promise.Promise<webdriver.Session>;
|
||||
var executor: webdriver.CommandExecutor = executors.createExecutor("http://someserver");
|
||||
var executor: webdriver.Executor = executors.createExecutor("http://someserver");
|
||||
var flow: webdriver.promise.ControlFlow = new webdriver.promise.ControlFlow();
|
||||
var driver: webdriver.WebDriver = new webdriver.WebDriver(session, executor);
|
||||
driver = new webdriver.WebDriver(session, executor, flow);
|
||||
@@ -746,15 +722,11 @@ function TestWebDriver() {
|
||||
// findElement
|
||||
var element: webdriver.WebElement;
|
||||
element = driver.findElement(webdriver.By.id('ABC'));
|
||||
element = driver.findElement({id: 'ABC'});
|
||||
element = driver.findElement(webdriver.By.js('function(){}'));
|
||||
element = driver.findElement({js: 'function(){}'});
|
||||
|
||||
// findElements
|
||||
driver.findElements(webdriver.By.className('ABC')).then(function (elements: webdriver.WebElement[]) { });
|
||||
driver.findElements({ className: 'ABC' }).then(function (elements: webdriver.WebElement[]) { });
|
||||
driver.findElements(webdriver.By.js('function(){}')).then(function (elements: webdriver.WebElement[]) { });
|
||||
driver.findElements({ js: 'function(){}' }).then(function (elements: webdriver.WebElement[]) { });
|
||||
|
||||
voidPromise = driver.get('http://www.google.com');
|
||||
driver.getAllWindowHandles().then(function (handles: string[]) { });
|
||||
@@ -766,13 +738,11 @@ function TestWebDriver() {
|
||||
stringPromise = driver.getWindowHandle();
|
||||
|
||||
booleanPromise = driver.isElementPresent(webdriver.By.className('ABC'));
|
||||
booleanPromise = driver.isElementPresent({className: 'ABC'});
|
||||
booleanPromise = driver.isElementPresent(webdriver.By.js('function(){}'));
|
||||
booleanPromise = driver.isElementPresent({js: 'function(){}'});
|
||||
|
||||
var options: webdriver.WebDriverOptions = driver.manage();
|
||||
var navigation: webdriver.WebDriverNavigation = driver.navigate();
|
||||
var locator: webdriver.WebDriverTargetLocator = driver.switchTo();
|
||||
var options: webdriver.Options = driver.manage();
|
||||
var navigation: webdriver.Navigation = driver.navigate();
|
||||
var locator: webdriver.TargetLocator = driver.switchTo();
|
||||
|
||||
var fileDetector: webdriver.FileDetector = new webdriver.FileDetector();
|
||||
driver.setFileDetector(fileDetector);
|
||||
@@ -795,7 +765,7 @@ function TestWebDriver() {
|
||||
|
||||
function TestSerializable() {
|
||||
var serializable: webdriver.Serializable<string>;
|
||||
var serial: string|webdriver.promise.Promise<string> = serializable.serialize();
|
||||
var serial: string|webdriver.promise.IThenable<string> = serializable.serialize();
|
||||
}
|
||||
|
||||
function TestWebElement() {
|
||||
@@ -803,10 +773,10 @@ function TestWebElement() {
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
build();
|
||||
|
||||
var promise: webdriver.promise.Promise<webdriver.IWebElementId>;
|
||||
var promise: webdriver.promise.Promise<string>;
|
||||
var element: webdriver.WebElement;
|
||||
|
||||
element = new webdriver.WebElement(driver, { ELEMENT: 'ID' });
|
||||
element = new webdriver.WebElement(driver, 'elementId');
|
||||
element = new webdriver.WebElement(driver, promise);
|
||||
|
||||
var voidPromise: webdriver.promise.Promise<void>;
|
||||
@@ -817,13 +787,8 @@ function TestWebElement() {
|
||||
voidPromise = element.click();
|
||||
|
||||
element = element.findElement(webdriver.By.id('ABC'));
|
||||
element = element.findElement({id: 'ABC'});
|
||||
|
||||
element.findElements(webdriver.By.className('ABC')).then(function (elements: webdriver.WebElement[]) { });
|
||||
element.findElements({ className: 'ABC' }).then(function (elements: webdriver.WebElement[]) { });
|
||||
|
||||
booleanPromise = element.isElementPresent(webdriver.By.className('ABC'));
|
||||
booleanPromise = element.isElementPresent({className: 'ABC'});
|
||||
|
||||
stringPromise = element.getAttribute('class');
|
||||
stringPromise = element.getCssValue('display');
|
||||
@@ -840,14 +805,11 @@ function TestWebElement() {
|
||||
voidPromise = element.sendKeys('A', 'B', 'C');
|
||||
voidPromise = element.sendKeys(stringPromise, stringPromise, stringPromise);
|
||||
voidPromise = element.submit();
|
||||
element.getId().then(function (id: typeof webdriver.WebElement.Id) { });
|
||||
element.getId().then(function (id: string) { });
|
||||
element.getRawId().then(function (id: string) { });
|
||||
element.serialize().then(function (id: typeof webdriver.WebElement.Id) { });
|
||||
element.serialize().then(function (id: webdriver.IWebElementId) { });
|
||||
|
||||
booleanPromise = webdriver.WebElement.equals(element, new webdriver.WebElement(driver, { ELEMENT: 'ID2' }));
|
||||
|
||||
var id: typeof webdriver.WebElement.Id = webdriver.WebElement.Id;
|
||||
var key: string = webdriver.WebElement.ELEMENT_KEY;
|
||||
booleanPromise = webdriver.WebElement.equals(element, new webdriver.WebElement(driver, 'elementId'));
|
||||
}
|
||||
|
||||
function TestWebElementPromise() {
|
||||
@@ -877,7 +839,7 @@ function TestLogging() {
|
||||
preferences.setLevel(webdriver.logging.Type.BROWSER, webdriver.logging.Level.ALL);
|
||||
var prefs: any = preferences.toJSON();
|
||||
|
||||
var level: webdriver.logging.ILevel = webdriver.logging.getLevel('OFF');
|
||||
var level: webdriver.logging.Level = webdriver.logging.getLevel('OFF');
|
||||
level = webdriver.logging.getLevel(1);
|
||||
|
||||
level = webdriver.logging.Level.ALL;
|
||||
@@ -887,10 +849,10 @@ function TestLogging() {
|
||||
level = webdriver.logging.Level.SEVERE;
|
||||
level = webdriver.logging.Level.WARNING;
|
||||
|
||||
var name: string = level.name;
|
||||
var value: number = level.value;
|
||||
var name: string = level.name();
|
||||
var value: number = level.value();
|
||||
|
||||
var type: string;
|
||||
var type: webdriver.logging.Type;
|
||||
type = webdriver.logging.Type.BROWSER;
|
||||
type = webdriver.logging.Type.CLIENT;
|
||||
type = webdriver.logging.Type.DRIVER;
|
||||
@@ -913,9 +875,6 @@ function TestLoggingEntry() {
|
||||
var message: string = entry.message;
|
||||
var timestamp: number = entry.timestamp;
|
||||
var type: string = entry.type;
|
||||
|
||||
entry = webdriver.logging.Entry.fromClosureLogRecord({});
|
||||
entry = webdriver.logging.Entry.fromClosureLogRecord({}, webdriver.logging.Type.DRIVER);
|
||||
}
|
||||
|
||||
function TestPromiseModule() {
|
||||
@@ -946,29 +905,29 @@ function TestPromiseModule() {
|
||||
return 5;
|
||||
}, this, 1, 2, 3).then(function (value: number) { });
|
||||
|
||||
var numbersPromise: webdriver.promise.Promise<number[]> = webdriver.promise.filter([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
var numbersPromise: webdriver.promise.Promise<number[]> = webdriver.promise.filter([1, 2, 3], function (element: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = webdriver.promise.filter([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.filter([1, 2, 3], function (element: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
numbersPromise = webdriver.promise.filter(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.filter(numbersPromise, function (element: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = webdriver.promise.filter(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.filter(numbersPromise, function (element: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
|
||||
numbersPromise = webdriver.promise.map([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.map([1, 2, 3], function (el: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = webdriver.promise.map([1, 2, 3], function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.map([1, 2, 3], function (el: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
numbersPromise = webdriver.promise.map(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.map(numbersPromise, function (el: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
});
|
||||
numbersPromise = webdriver.promise.map(numbersPromise, function (el: number, index: number, arr: number[]) {
|
||||
numbersPromise = webdriver.promise.map(numbersPromise, function (el: number, type: any, index: number, arr: number[]) {
|
||||
return true;
|
||||
}, this);
|
||||
|
||||
@@ -995,26 +954,13 @@ function TestPromiseModule() {
|
||||
var bool: boolean = webdriver.promise.isGenerator(function () { });
|
||||
var isPromise: boolean = webdriver.promise.isPromise('ABC');
|
||||
|
||||
voidPromise = webdriver.promise.rejected({a: 123});
|
||||
stringPromise = webdriver.promise.rejected('{a: 123}');
|
||||
|
||||
webdriver.promise.setDefaultFlow(new webdriver.promise.ControlFlow());
|
||||
|
||||
numberPromise = webdriver.promise.when('abc', function(value: any) { return 123; }, function(err: Error) { return 123; });
|
||||
}
|
||||
|
||||
function TestStacktraceModule() {
|
||||
var bool: boolean = webdriver.stacktrace.BROWSER_SUPPORTED;
|
||||
|
||||
var frame: webdriver.stacktrace.Frame = new webdriver.stacktrace.Frame();
|
||||
var baseFrame: webdriver.stacktrace.Frame = frame;
|
||||
|
||||
var snapshot: webdriver.stacktrace.Snapshot = new webdriver.stacktrace.Snapshot();
|
||||
var baseSnapshot: webdriver.stacktrace.Snapshot = snapshot;
|
||||
|
||||
var err: Error = webdriver.stacktrace.format(new Error("Error"));
|
||||
var frames: webdriver.stacktrace.Frame[] = webdriver.stacktrace.get();
|
||||
}
|
||||
|
||||
function TestUntilModule() {
|
||||
var driver: webdriver.WebDriver = new webdriver.Builder().
|
||||
withCapabilities(webdriver.Capabilities.chrome()).
|
||||
@@ -1125,13 +1071,12 @@ function TestPromiseClass() {
|
||||
}
|
||||
|
||||
function TestThenableClass() {
|
||||
var thenable: webdriver.promise.Thenable<string> = new webdriver.promise.Thenable<string>();
|
||||
var thenable: webdriver.promise.Promise<string> = new webdriver.promise.Promise<string>();
|
||||
|
||||
thenable.cancel('Abort');
|
||||
|
||||
var isPending: boolean = thenable.isPending();
|
||||
|
||||
thenable = thenable.then();
|
||||
thenable = thenable.then(function (a: string) { return 'cde'; });
|
||||
thenable = thenable.then(function (a: string) { return 'cde'; }, function (e: any) { });
|
||||
thenable = thenable.then(function (a: string) { return 'cde'; }, function (e: any) { return 123; });
|
||||
@@ -1144,76 +1089,30 @@ function TestThenableClass() {
|
||||
function TestErrorCode() {
|
||||
var errorCode: number;
|
||||
|
||||
errorCode = webdriver.error.ErrorCode.ELEMENT_NOT_SELECTABLE;
|
||||
errorCode = webdriver.error.ErrorCode.ELEMENT_NOT_VISIBLE;
|
||||
errorCode = webdriver.error.ErrorCode.IME_ENGINE_ACTIVATION_FAILED;
|
||||
errorCode = webdriver.error.ErrorCode.IME_NOT_AVAILABLE;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_COOKIE_DOMAIN;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_ELEMENT_COORDINATES;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_ELEMENT_STATE;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_SELECTOR_ERROR;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_XPATH_SELECTOR;
|
||||
errorCode = webdriver.error.ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPE;
|
||||
errorCode = webdriver.error.ErrorCode.JAVASCRIPT_ERROR;
|
||||
errorCode = webdriver.error.ErrorCode.METHOD_NOT_ALLOWED;
|
||||
errorCode = webdriver.error.ErrorCode.MODAL_DIALOG_OPENED;
|
||||
errorCode = webdriver.error.ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS;
|
||||
errorCode = webdriver.error.ErrorCode.NO_MODAL_DIALOG_OPEN;
|
||||
errorCode = webdriver.error.ErrorCode.NO_SUCH_ELEMENT;
|
||||
errorCode = webdriver.error.ErrorCode.NO_SUCH_FRAME;
|
||||
errorCode = webdriver.error.ErrorCode.NO_SUCH_WINDOW;
|
||||
errorCode = webdriver.error.ErrorCode.SCRIPT_TIMEOUT;
|
||||
errorCode = webdriver.error.ErrorCode.SESSION_NOT_CREATED;
|
||||
errorCode = webdriver.error.ErrorCode.SQL_DATABASE_ERROR;
|
||||
errorCode = webdriver.error.ErrorCode.STALE_ELEMENT_REFERENCE;
|
||||
errorCode = webdriver.error.ErrorCode.SUCCESS;
|
||||
errorCode = webdriver.error.ErrorCode.TIMEOUT;
|
||||
errorCode = webdriver.error.ErrorCode.UNABLE_TO_SET_COOKIE;
|
||||
errorCode = webdriver.error.ErrorCode.UNKNOWN_COMMAND;
|
||||
errorCode = webdriver.error.ErrorCode.UNKNOWN_ERROR;
|
||||
errorCode = webdriver.error.ErrorCode.UNSUPPORTED_OPERATION;
|
||||
errorCode = webdriver.error.ErrorCode.XPATH_LOOKUP_ERROR;
|
||||
}
|
||||
|
||||
function TestError() {
|
||||
var error: webdriver.error.Error;
|
||||
|
||||
error = new webdriver.error.Error(webdriver.error.ErrorCode.ELEMENT_NOT_SELECTABLE);
|
||||
error = new webdriver.error.Error(webdriver.error.ErrorCode.ELEMENT_NOT_SELECTABLE, 'Message');
|
||||
|
||||
var code: number = error.code;
|
||||
var state: string = error.state;
|
||||
var message: string = error.message;
|
||||
var name: string = error.name;
|
||||
var stack: string = error.stack;
|
||||
var isAutomationError: boolean = error.isAutomationError;
|
||||
var errorStr: string = error.toString();
|
||||
|
||||
state = webdriver.error.Error.State.ELEMENT_NOT_SELECTABLE
|
||||
state = webdriver.error.Error.State.ELEMENT_NOT_VISIBLE;
|
||||
state = webdriver.error.Error.State.IME_ENGINE_ACTIVATION_FAILED;
|
||||
state = webdriver.error.Error.State.IME_NOT_AVAILABLE;
|
||||
state = webdriver.error.Error.State.INVALID_COOKIE_DOMAIN;
|
||||
state = webdriver.error.Error.State.INVALID_ELEMENT_COORDINATES;
|
||||
state = webdriver.error.Error.State.INVALID_ELEMENT_STATE;
|
||||
state = webdriver.error.Error.State.INVALID_SELECTOR;
|
||||
state = webdriver.error.Error.State.JAVASCRIPT_ERROR;
|
||||
state = webdriver.error.Error.State.MOVE_TARGET_OUT_OF_BOUNDS;
|
||||
state = webdriver.error.Error.State.NO_SUCH_ALERT;
|
||||
state = webdriver.error.Error.State.NO_SUCH_DOM
|
||||
state = webdriver.error.Error.State.NO_SUCH_ELEMENT;
|
||||
state = webdriver.error.Error.State.NO_SUCH_FRAME;
|
||||
state = webdriver.error.Error.State.NO_SUCH_WINDOW;
|
||||
state = webdriver.error.Error.State.SCRIPT_TIMEOUT;
|
||||
state = webdriver.error.Error.State.SESSION_NOT_CREATED;
|
||||
state = webdriver.error.Error.State.STALE_ELEMENT_REFERENCE;
|
||||
state = webdriver.error.Error.State.SUCCESS;
|
||||
state = webdriver.error.Error.State.TIMEOUT;
|
||||
state = webdriver.error.Error.State.UNABLE_TO_SET_COOKIE;
|
||||
state = webdriver.error.Error.State.UNEXPECTED_ALERT_OPEN
|
||||
state = webdriver.error.Error.State.UNKNOWN_COMMAND;
|
||||
state = webdriver.error.Error.State.UNKNOWN_ERROR;
|
||||
state = webdriver.error.Error.State.UNSUPPORTED_OPERATION;
|
||||
errorCode = new webdriver.error.ElementNotSelectableError().code();
|
||||
errorCode = new webdriver.error.ElementNotVisibleError().code();
|
||||
errorCode = new webdriver.error.InvalidArgumentError().code();
|
||||
errorCode = new webdriver.error.InvalidCookieDomainError().code();
|
||||
errorCode = new webdriver.error.InvalidElementCoordinatesError().code();
|
||||
errorCode = new webdriver.error.InvalidElementStateError().code();
|
||||
errorCode = new webdriver.error.InvalidSelectorError().code();
|
||||
errorCode = new webdriver.error.NoSuchSessionError().code();
|
||||
errorCode = new webdriver.error.JavascriptError().code();
|
||||
errorCode = new webdriver.error.MoveTargetOutOfBoundsError().code();
|
||||
errorCode = new webdriver.error.NoSuchAlertError().code();
|
||||
errorCode = new webdriver.error.NoSuchElementError().code();
|
||||
errorCode = new webdriver.error.NoSuchFrameError().code();
|
||||
errorCode = new webdriver.error.NoSuchWindowError().code();
|
||||
errorCode = new webdriver.error.ScriptTimeoutError().code();
|
||||
errorCode = new webdriver.error.SessionNotCreatedError().code();
|
||||
errorCode = new webdriver.error.StaleElementReferenceError().code();
|
||||
errorCode = new webdriver.error.TimeoutError().code();
|
||||
errorCode = new webdriver.error.UnableToSetCookieError().code();
|
||||
errorCode = new webdriver.error.UnableToCaptureScreenError().code();
|
||||
errorCode = new webdriver.error.UnexpectedAlertOpenError().code();
|
||||
errorCode = new webdriver.error.UnknownCommandError().code();
|
||||
errorCode = new webdriver.error.UnknownMethodError().code();
|
||||
errorCode = new webdriver.error.UnsupportedOperationError().code();
|
||||
}
|
||||
|
||||
function TestTestingModule() {
|
||||
|
||||
Reference in New Issue
Block a user