{"action":"created","issue":{"url":"https://api.github.com/repos/qa-tools/qa-tools/issues/104","repository_url":"https://api.github.com/repos/qa-tools/qa-tools","labels_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/104/labels{/name}","comments_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/104/comments","events_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/104/events","html_url":"https://github.com/qa-tools/qa-tools/issues/104","id":42122992,"number":104,"title":"Reconsider dependencies on internals of NodeElement","user":{"login":"aik099","id":1277526,"avatar_url":"https://avatars.githubusercontent.com/u/1277526?v=3","gravatar_id":"","url":"https://api.github.com/users/aik099","html_url":"https://github.com/aik099","followers_url":"https://api.github.com/users/aik099/followers","following_url":"https://api.github.com/users/aik099/following{/other_user}","gists_url":"https://api.github.com/users/aik099/gists{/gist_id}","starred_url":"https://api.github.com/users/aik099/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aik099/subscriptions","organizations_url":"https://api.github.com/users/aik099/orgs","repos_url":"https://api.github.com/users/aik099/repos","events_url":"https://api.github.com/users/aik099/events{/privacy}","received_events_url":"https://api.github.com/users/aik099/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/qa-tools/qa-tools/labels/module-all","name":"module-all","color":"eb6420"},{"url":"https://api.github.com/repos/qa-tools/qa-tools/labels/type-refactoring","name":"type-refactoring","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/qa-tools/qa-tools/milestones/2","html_url":"https://github.com/qa-tools/qa-tools/milestones/2.0.0","labels_url":"https://api.github.com/repos/qa-tools/qa-tools/milestones/2/labels","id":506665,"number":2,"title":"2.0.0","description":null,"creator":{"login":"aik099","id":1277526,"avatar_url":"https://avatars.githubusercontent.com/u/1277526?v=3","gravatar_id":"","url":"https://api.github.com/users/aik099","html_url":"https://github.com/aik099","followers_url":"https://api.github.com/users/aik099/followers","following_url":"https://api.github.com/users/aik099/following{/other_user}","gists_url":"https://api.github.com/users/aik099/gists{/gist_id}","starred_url":"https://api.github.com/users/aik099/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aik099/subscriptions","organizations_url":"https://api.github.com/users/aik099/orgs","repos_url":"https://api.github.com/users/aik099/repos","events_url":"https://api.github.com/users/aik099/events{/privacy}","received_events_url":"https://api.github.com/users/aik099/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":2,"state":"open","created_at":"2013-12-06T08:51:30Z","updated_at":"2015-10-18T09:58:08Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2014-09-06T18:28:47Z","updated_at":"2016-06-24T12:47:01Z","closed_at":null,"body":"Following won't work in Mink 2.0:\r\n\r\n* it's possible to get `SelectorsHandler` class instance used in `Session` object using `Session::getSelectorsHandler` (and we use it to add `se` selector handler)\r\n* the `NodeElement` is constructed from xpath and `Session` object, which later can be retrieved with `getSession` method (we use it to create `WebElement` from `NodeElement`)\r\n\r\nI think, that we should:\r\n* use PageFactory as a dependency where it makes sense\r\n* don't modify selectors handler used in session to make `seleniumSelectorToXpath` method work"},"comment":{"url":"https://api.github.com/repos/qa-tools/qa-tools/issues/comments/228336531","html_url":"https://github.com/qa-tools/qa-tools/issues/104#issuecomment-228336531","issue_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/104","id":228336531,"user":{"login":"aik099","id":1277526,"avatar_url":"https://avatars.githubusercontent.com/u/1277526?v=3","gravatar_id":"","url":"https://api.github.com/users/aik099","html_url":"https://github.com/aik099","followers_url":"https://api.github.com/users/aik099/followers","following_url":"https://api.github.com/users/aik099/following{/other_user}","gists_url":"https://api.github.com/users/aik099/gists{/gist_id}","starred_url":"https://api.github.com/users/aik099/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aik099/subscriptions","organizations_url":"https://api.github.com/users/aik099/orgs","repos_url":"https://api.github.com/users/aik099/repos","events_url":"https://api.github.com/users/aik099/events{/privacy}","received_events_url":"https://api.github.com/users/aik099/received_events","type":"User","site_admin":false},"created_at":"2016-06-24T12:47:01Z","updated_at":"2016-06-24T12:47:01Z","body":"Problems solved:\r\n\r\n* the `NodeElement` is being injected into `WebElement` (composition) instead of `WebElement` is extending `NodeElement`\r\n* the `PageFactory` is accessible to every element/proxy and session is now retrieved from it and not from element\r\n\r\nProblems not solved:\r\n\r\n* how to register `se` element selector in the session"}}
{"actor":{"display_login":"aik099"}}