Make China-ready by default
paulvi opened this issue · 5 comments
In China mainland any Google services are not available.
So out-of-box build fails when trying to download chromedriver as it is required by one of frontend npm testing dependency.
It would be nice by default to have it excluded, then all testing have in separate maven goal/command.
Hey @paulvi - I understand the issue, but this safety net (running Jest unit tests with every build) is there for purpose. Removing it is easy, just comment out the following in the frontend's pom.xml (like the Nightwatch e2e tests that are also commented out):
<!-- Run Unit tests with Jest -->
<execution>
<id>npm run test:unit</id>
<goals>
<goal>npm</goal>
</goals>
<phase>test</phase>
<configuration>
<arguments>run test:unit</arguments>
</configuration>
</execution>
But I don't really like the thought of removing those tests from the default build. Is there an option to switch the Selenium driver and use Firefox instead? Is Firefox a problem in China?
Well, I have been using Firefox since v1.0
Then switching to Chrome, but Chrome without working store (ability to install plugins) is not good,
so sticking to Firefox as more universal.
well, yes, test should always run.
Is there an option to switch the Selenium driver and use Firefox instead?
Should be, I don't know exactlyabout configuring.
But the real problem is download URL, not specific driver
Is Firefox a problem in China?
absolutely OK, non political
I think this issue can be solved by cnpm.
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install --save-dev chromedriver
Looks good to me, closing for now.
I remember problem with chromedriver was that it is downloaded not from npm registry,
but directly from some google.com server.
Don't think that Google (or any third party site) is available everywhere or is quick everywhere
https://no-google-in-china.github.io/
npm build should only depend on npm registry