Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webdriver tests and CI support #102

Open
reppners opened this issue Jun 8, 2017 · 2 comments
Open

Webdriver tests and CI support #102

reppners opened this issue Jun 8, 2017 · 2 comments

Comments

@reppners
Copy link
Collaborator

reppners commented Jun 8, 2017

Would be really awesome to have some webdriver tests
and some CI support so PR's can be checked automatically and be merged with confidence.

I'm proposing to use

Anyone having experience configuring those?

@reppners reppners added this to the 2.0.0 milestone Jun 8, 2017
@reppners reppners modified the milestones: 2.x, 2.0.0 Jun 28, 2017
@reppners reppners added the chore label Jun 28, 2017
@reppners
Copy link
Collaborator Author

reppners commented Jan 2, 2018

Setup TravisCI and Webdriver tests using SauceLabs service to run them.

https://github.com/timruffles/ios-html5-drag-drop-shim/tree/testing

Next up is implementing tests using the demo page.

  • simple
  • drop effects
  • hovering
  • holdToDrag
  • dedicated drag handle
  • drop failure
  • scrolling

Capabilities

  • Real devices?
  • Appium?
  • Mobile emulation?

@reppners
Copy link
Collaborator Author

It's been a while and a few weeks ago I did make some progress in getting a test setup which works via appium running on SauceLabs.

Having tests seems to be even more important since latest Android and iOS seem to enable native drag and drop. I want to get some baseline tests to detect wether they really are capable of doing it natively and then the same test with polyfill activated to detect any differences.

Doing all the tests manually on all the combinations of platform, browser and version is no fun at all and as new browser versions were released there were breaking changes which could've been detected earlier.

The bad news is that older browser versions of Android and iOS are not compatible when inducing touch interactions to the way it is done with the latest browsers. So it's going to be rather time consuming to implement touch actions differently according to OS and browser version. I had hoped WebdriverIO would smooth this over but it isn't.

Another issue is that touch events are only possible in native context. That means coordinates are not relative to the webview but to the browser app. Again each device/platform/browser has different UI/address bar height which results in different offsets to actually land the touch on the element in the webview. To workaround this I'm planning to introduce a special e2e test page where the elements are big enough. This way there will be no need to hardcode a special offset to account for the browsers address bar in each different environment.

If anybody wants to contribute, feel free to check out the branch mentioned in the previous post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant