Skip to content

Commit

Permalink
POA Ignore Region changes (#1250)
Browse files Browse the repository at this point in the history
* [PPLT-2008] POC CLI

* [refactor] remove selenium-webdriver dependency in poa

* [refactor] rename driver2 -> driver

* [refactor] remove all usage of metaData

* [refactor] rename getTag1 -> getTag

* [chore] remove unused metaData resolvers

* [feat] add screenshot feature for driverWrapper

* [refactor] use await in function calls + use fs/promises

* [refactor] remove un-necessary async-await in metadata resolvers

* [wip] added genericProvider

* [feat] added support for automateprovider + debugUrl

* [chore] update packages.json

* [chore] remove snapshotName from constructor initialization

* [chore] rename endpoint driverWrapper -> automateScreenshot

* [refactor] move driverResolver/driverWrapper -> driver.js

* [refactor] use cli-poa/main.js only for import and export, use AutomateProvider in percy.js

* [chore] lint using --fix flag

* [chore] remove constructor from automateProvider as it is just initializing parent

* [test] instantiate tests

* [test] verify browserstackExecutor passed correct arguments

* [fix] await on response.json()

* [chore] add test and test:coverage scripts

* [test] update automateProvider coverage to 100%

* [test] add tests for providerResolver

* [test] add commonMetaDataResolver.test.js

* [test] added driver check for commonMetaDataResolver

* [test] added desktop and mobile metadata resolver tests

* [chore] lint using lint:fix

* [test] added genericProvider tests

* [chore] lint using lint:fix

* [refactor] move automateScreenshot to poa

* [refactor] rename cli-poa to selenium-utils

* [refactor] rename selenium-utils -> webdriver-utils

* [refactor] instantiate logging in individual files

* [chore] updated webdriver-utils package.json

* [feat] updated getTag as per BYOS contract

* [feat] update test.yml + move from main.js to index.js for tests to run smoothly

* [chore] lint using yarn lint --fix

* [chore] fix lint errors

* [feat] add support for adding individual coverage threshold levels

* [chore] rename commonMetadata to Metadata

* [fix] update content-type headers for executeScript call

* [fix] handle embedded url

* [feat] use sdk-utils/requests instead of node-fetch

* [feat] call percy.upload(...) directly which skips latency due to serialise and deserialise

* [refactor] pass base64 data directly instead of writing to temp files

* [chore] yarn lint fix

* [refactor] use ternary opeartor instead of if-else

* [fix] refactor conditional imports

* [refactor] switch to importing default and extract props from it

* [test] added tests for webdriver-utils/driver

* [test] added genericProvider tests

* [chore] removed fallback parameters as we always pass some capabilities

* [refactor] remove customized threshold support for nyc

* [chore] lint using fix

* [feat] added cache support

* Changes for js sdk POA

* [test] add cache, genericProvider tests for webdriver-utils

* Changes for ignoreRegion

* Fix testcase and edge case

* Fix test case

* Added test for ignore region

* Test case for driver

* Add testcase for postScreenshot

* Fixed tests and addressed comments

* Updated name as per suggestion

* Fix test case

* Changes according to comments

* Changes acc to comment

* rename ignore region selenium element to generic name

---------

Co-authored-by: amit3200 <tusharamit@yahoo.com>
Co-authored-by: nilshah98 <neelshah.1998@gmail.com>
  • Loading branch information
3 people authored and “Shahid committed Jun 29, 2023
1 parent 76e67dd commit d083806
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 7 deletions.
6 changes: 1 addition & 5 deletions packages/sdk-utils/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import postSnapshot from './post-snapshot.js';
import postComparison from './post-comparison.js';
import flushSnapshots from './flush-snapshots.js';
import captureAutomateScreenshot from './post-screenshot.js';
import TimeIt from './timing.js';
import Undefined from './validations.js';

export {
logger,
Expand All @@ -21,9 +19,7 @@ export {
postSnapshot,
postComparison,
flushSnapshots,
captureAutomateScreenshot,
TimeIt,
Undefined
captureAutomateScreenshot
};

// export the namespace by default
Expand Down
4 changes: 2 additions & 2 deletions packages/webdriver-utils/src/providers/genericProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -191,11 +191,11 @@ export default class GenericProvider {
try {
const element = await this.driver.findElement(findBy, elements[idx]);
const selector = `${findBy}: ${elements[idx]}`;
const ignoredRegion = await this.ignoreElementObject(selector, element[Object.keys(element)[0]]);
const ignoredRegion = await this.ignoreElementObject(selector, element.ELEMENT);
ignoredElementsArray.push(ignoredRegion);
} catch (e) {
log.warn(`Selenium Element with ${findBy}: ${elements[idx]} not found. Ignoring this ${findBy}.`);
log.error(e.toString());
log.debug(e.toString());
}
}
return ignoredElementsArray;
Expand Down

0 comments on commit d083806

Please sign in to comment.