-
Notifications
You must be signed in to change notification settings - Fork 2.3k
build: publish using wombat #5554
base: hankduan-patch-1
Are you sure you want to change the base?
Conversation
The existing documentation was redundant and confusing. Closes #3679
A little bit excessive, but this will really help debugging issues with Blocking Proxy.
Fix for #3978. Our initial plan to allow setting --disableChecks with an environment variable is insufficient, since the custom framework isn't even require()'d until after the config is parsed. This moves the unknown flag check into the runner, and gives frameworks a way to specify extra flags they accept.
Replace browser.rootEl with browser.setAngularRoot(), which changes the root element in a promise on the control flow. Note that browser.rootEl will immediately return the current value, but browser.setAngularRoot() will return a promise that resolves during the next step in the control flow. Also update to BlockingProxy 0.0.3, which allows changing rootSelector.
…ibility (#4006) Add test cases to reproduce the missing element race conditions possible in expected condition methods `visibilityOf`, `textToBePresentInElement`, `textToBePresentInValue` and `elementToBeClickable`. Add error handler `falseIfMissing` to all expected conditions that depend on the presence of an element. Expected conditions check the presence of an element before other checks, but when an element is removed exactly in the moment after the `isPresent` and before `isDisplayed` in `visibilityOf` the condition used to fail. This solution does not handle missing elements in (`isEnable`, `isDisplayed`, `isSelected`) and focused only on expected conditions (see #3972) This problem was also referenced in #3578 and #3777
The second test case fails. Updating so that it passes.
…ow is disabled (#4029) Also added some tests to `spec/ts/noCF/smoke_spec.ts` double checking that the control flow is off
I decided to address this comment: #4000 (comment) While doing do I decided to take on this TODO: https://github.com/angular/protractor/blob/ccf02ab5f1070f0d7124318dc0099252f3c747e2/lib/browser.ts#L38 One possible issue here is that `ProtractorBrowser` only copies over methods, so it doesn't actually implement `WebDriver`'s interface. This isn't a problem right now, since `WebDriver`'s interface only has functions on it. But it could be a problem in the future.
- elements workaround for WebElement.equals - added a better unhandled rejection warning message in the launcher - remove global function wrappers for mocha (these wrappers went away with control flow) - fix the attach to session driver provider Typing exported from Protractor: - removed ActionSequence and EventEmitter (actions is currently missing) - removed promise.Promise - removed Promise, defer, delayed, createFlow, controlFlow, all, fulfilled, filter, when Typings exported from WebDriver: - removed attachToSession - removed WebDriver instance methods: touchActions, call - removed WebElement getSize and getLocation for getRect - removed redefined global vars for testing - In the typings, we are missing Options.setScriptTimeout method. This should not impact users unless they are using the driver.manage() method. Tests: - fix element equals test - add missing 'await' in colorList test that is causing unhandled promise rejections. - remove control flow related tests - disable the install test. Installing from "file:../../" is not working. - fix the attach to session driver provider test to exit with a 1 if errors are encountered
- Use `() => Promise<boolean>` over `Function` typings. - Fix an ExpectedConditions test where it was set to a const. - Fix a TypeScript typing interface issue with RunResults in taskRunner.
- Remove the USE_PROMISE_MANAGER test in spec/ts/basic - Remove the check if we are using the control flow or not
- Move circle.yml file to .circleci/config.yml to satisfy circleci warnings (version 1.0 deprecation). - The browser in circle is version 69. The browser requires chromedriver 2.44.
Since the current changelog between the 6.0.0-beta and the 6.0.0 release is minor, updated the changelog by removing the -beta.
- commit hash was created in selenium4 branch during development. - updates to changelog to help navigate users to find the commits.
- fixed unused assignment in runner cli - convert switch to conditional in launcher
…oxy to 4.5.4 travis_wait is not needed if the sauce connect proxy logs are written to stdout. This makes debugging proxy problems from the CI logs much easier. This commit also updates the debugging command to use the `--doctor` flag. Other changes include: 1. Upgrade sauce-connect proxy to 4.4.1 to 4.5.4
Optimist has been deprecated over 2 years ago as has a security vulnerability. With this change we use it's successor `yargs`. Closes: #5413
Sets the package.json publishConfig to use the wombat-dressing-room registry.
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
!(into[key] instanceof Function)) { | ||
merge_(into[key], from[key]); | ||
} else { | ||
into[key] = from[key]; |
Check warning
Code scanning / CodeQL
Prototype-polluting function
let timeout: RegExpExecArray; | ||
if (/asynchronous script timeout/.test(err.message)) { | ||
// Timeout on Chrome | ||
timeout = /-?[\d\.]*\ seconds/.exec(err.message); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data
timeout = /-?[\d\.]*\ seconds/.exec(err.message); | ||
} else if (/Timed out waiting for async script/.test(err.message)) { | ||
// Timeout on Firefox | ||
timeout = /-?[\d\.]*ms/.exec(err.message); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data
timeout = /-?[\d\.]*ms/.exec(err.message); | ||
} else if (/Timed out waiting for an asynchronous script/.test(err.message)) { | ||
// Timeout on Safari | ||
timeout = /-?[\d\.]*\ ms/.exec(err.message); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data
|
||
logger.info( | ||
'Using SauceLabs selenium server at ' + | ||
this.config_.seleniumAddress.replace(/\/\/.+@/, '//')); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data
Best practice