Comments (6)
@Xetoris thanks for raising this super well explained issue.
What do you suggest as a solution to this? From what I see there are two options:
- use the
windowsPathsNoEscape
flag- transform any path given to the glob function into a file path which enables compliant behavior between both OSes
What are your thoughts?
That's a good question.
I think both solution essentially accomplish the same ends -- you remove an backslashes (regardless if they are escaping special characters or not). This would break for people who might want to access a test file that has, say, a *
in it.
We could maybe try and use a regex pattern to detect a backslashes not followed by a special case and swap them for forward slashes.
Another option I didn't look into is if there's any way to get a resolve() like functionality that we can specify the separator character with.
I can tinker around with it and see if I can come up with a solution that won't break the escape functionality of glob and still let Windows resolve correctly.
from webdriverio.
Please let me know if you need any more information. I think I found the issue and am happy to submit a PR to try and resolve it. Wanted to get a sanity check to make sure I'm not miss-interpreting or miss-using something and what solution would make the most sense.
from webdriverio.
@Xetoris thanks for raising this super well explained issue.
What do you suggest as a solution to this? From what I see there are two options:
- use the
windowsPathsNoEscape
flag - transform any path given to the glob function into a file path which enables compliant behavior between both OSes
What are your thoughts?
from webdriverio.
Thanks for reporting!
We greatly appreciate any contributions that help resolve the bug. While we understand that active contributors have their own priorities, we kindly request your assistance if you rely on this bug being fixed. We encourage you to take a look at our contribution guidelines or join our friendly Discord development server, where you can ask any questions you may have. Thank you for your support, and cheers!
from webdriverio.
Writing in another thought so I don't forget it the next time I look at this.
According to the comment above the line where we adjust .spec
to be a absolute path, it says it does that to make sure patterns are resolved from the CWD. The glob helper allows you to specify the root dir, which gets passed to the CWD of the globSync() method. Maybe we can remove the need to decide and defer to glob to make the smart decisions by just passing CWD as the root dir when we go to evaluate the .spec
property?
from webdriverio.
Maybe we can remove the need to decide and defer to glob to make the smart decisions by just passing CWD as the root dir when we go to evaluate the
.spec
property?
I think that makes sense.
from webdriverio.
Related Issues (20)
- [🐛 Bug]: Unable to execute .feature file HOT 1
- [🐛 Bug]: Can't open Microsoft Edges when run the test HOT 2
- Tip: Reset your Lit 3.0 cache between tests when using WebdriverIO for component testing. HOT 2
- [🐛 Bug]: Vite config server settings not being used HOT 2
- [🐛 Bug]: Repeated `execute` / `executeAsync` can leak large amounts of memory HOT 2
- TestCaseId for allure testOps HOT 2
- [🐛 Bug]: ERROR @wdio/appium-service: Appium exited before timeout (exit code: null) HOT 5
- [💡 Feature]: Multiple parallel executions reusing the same node process HOT 5
- [🐛 Bug]: new selector logic doesn't take iframe switches into consideration
- [🐛 Bug]: the string "The test library was called with unknown functions! Error: waitAsync is already running and cannot be called again at this moment" HOT 5
- [🐛 Bug]: If Edgedriver doesn't exist for installed Edge browser but a different Edgedriver is already installed, don't fail HOT 4
- [🐛 Bug]: Middleware interfering with API: waitForDisplayed({ reverse: true }) HOT 1
- [🐛 Bug]: Component testing error from wizard 'Unable to parse HTML; parse5 error code eof-in-script-html-comment-like-text' HOT 3
- [🐛 Bug]: elementBlockOuts implementation missing from @wdio/visual-service HOT 1
- Sending Shift Keys to Chrome browser not working in Chrome HOT 12
- [🐛 Bug]: Custom command fail for element that is not in the DOM HOT 2
- [🐛 Bug]: ChromeDriver connection fails when using VPN due to default hostname (0.0.0.0) HOT 2
- [🐛 Bug]: navigateTo should return string or null?
- [🐛 Bug]: Multiremote with Selenium Grid HOT 1
- [🐛 Bug]: The executeAsync method from shim.js does not get the timeout from it hook, which is causing the tests with custom timeout to throw a Timeout error. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webdriverio.