{"action":"created","comment":{"url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/comments/23557934","id":23557934,"diff_hunk":"@@ -0,0 +1,360 @@\n+package com.wikia.webdriver.pageobjectsfactory.pageobject.mercury;\n+\n+import java.util.List;\n+\n+import io.appium.java_client.MultiTouchAction;\n+import io.appium.java_client.TouchAction;\n+import io.appium.java_client.android.AndroidDriver;\n+\n+import org.openqa.selenium.By;\n+import org.openqa.selenium.JavascriptExecutor;\n+import org.openqa.selenium.WebDriver;\n+import org.openqa.selenium.WebElement;\n+\n+import com.wikia.webdriver.common.driverprovider.NewDriverProvider;\n+\n+/**\n+ * @authors: Tomasz Napieralski\n+ * @created: 9 Jan 2015\n+ * @updated: 20 Jan 2015\n+ */\n+\n+public class PerformTouchAction {\n+\t\n+\tprivate static WebDriver driver;\n+\tprivate static AndroidDriver mobileDriver;\n+\t\n+\tprivate static int nativeHeight = 0;\n+\tprivate static int nativeWidth = 0;\n+\tprivate static int webviewHeight = 0;\n+\tprivate static int webviewWidth = 0;\n+\tprivate static int ratio = 0;\n+\t\n+\tprivate static int taskbarNativeHeight = 0;\n+\tprivate static int taskbarNativeWidth = 0;\n+\tprivate static int taskbarWebviewHeight = 0;\n+\tprivate static int taskbarWebviewWidth = 0;\n+\t\n+\tprivate static int appNativeHeight = 0;\n+\tprivate static int appNativeWidth = 0;\n+\tprivate static int appWebviewHeight = 0;\n+\tprivate static int appWebviewWidth = 0;\n+\t\n+\tprivate static int loadedPageHeight = 0;\n+\tprivate static int loadedPageWidth = 0;\n+\t\n+\tpublic static final String DIRECTION_LEFT = \"left\";\n+\tpublic static final String DIRECTION_RIGHT = \"right\";\n+\tpublic static final String DIRECTION_UP = \"up\";\n+\tpublic static final String DIRECTION_DOWN = \"down\";\n+\t\n+\tpublic static final String ZOOM_WAY_IN = \"in\";\n+\tpublic static final String ZOOM_WAY_OUT = \"out\";\n+\t\n+\tpublic PerformTouchAction(WebDriver webDriver) {\n+\t\tmobileDriver = NewDriverProvider.getMobileDriver();\n+\t\tdriver = webDriver;\n+\t\tJavascriptExecutor js = (JavascriptExecutor) driver;\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\tnativeHeight = mobileDriver.manage().window().getSize().height;\n+\t\tnativeWidth = mobileDriver.manage().window().getSize().width;\n+\t\tint startX = nativeWidth / 2;\n+\t\tint startY = nativeHeight - 1;\n+\t\tint endX = startX;\n+\t\tint endY = nativeHeight / 3;\n+\t\tint duration = startY - endY;\n+\t\ttry {\n+\t\t\tmobileDriver.swipe(startX, startY, endX, endY, duration);\n+\t\t} catch (Exception e) {}\n+\t\ttry {\n+\t\t\tThread.sleep(duration * 3);\n+\t\t} catch(Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"WEBVIEW_1\") {\n+\t\t\tmobileDriver.context(\"WEBVIEW_1\");\n+\t\t}\n+\t\tjs.executeScript(\"window.scrollTo(0, 0)\");\n+\t\tappWebviewHeight = Integer.parseInt(js.executeScript(\"return $(window).height()\").toString());\n+\t\tappWebviewWidth = Integer.parseInt(js.executeScript(\"return $(window).width()\").toString());\n+\t\tloadedPageHeight = Integer.parseInt(js.executeScript(\"return $(document).height()\").toString());\n+\t\tloadedPageWidth = Integer.parseInt(js.executeScript(\"return $(document).width()\").toString());\n+\t\tratio = nativeWidth / appWebviewWidth;\n+\t\twebviewHeight = nativeHeight / ratio;\n+\t\twebviewWidth = appWebviewWidth;\n+\t\ttaskbarWebviewHeight = webviewHeight - appWebviewHeight;\n+\t\ttaskbarWebviewWidth = webviewWidth;\n+\t\ttaskbarNativeHeight = taskbarWebviewHeight * ratio;\n+\t\ttaskbarNativeWidth = nativeWidth;\n+\t\tappNativeWidth = nativeWidth;\n+\t\tappNativeHeight = nativeHeight - taskbarNativeHeight;\n+\t\tvarStatus();\n+\t}\n+\t\n+\t/**\n+\t * That method return value of all resolution variables.\n+\t */\n+\tpublic void varStatus() {\n+\t\tSystem.out.println(\"=======================================\");\n+\t\tSystem.out.println(\"nativeHeight: \" + nativeHeight); //1920\n+\t\tSystem.out.println(\"nativeWidth: \" + nativeWidth); //1080\n+\t\tSystem.out.println(\"webviewHeight: \" + webviewHeight); //640\n+\t\tSystem.out.println(\"webviewWidth: \" + webviewWidth); //360\n+\t\tSystem.out.println(\"ratio (nativeWidth / appWebviewWidth): \" + ratio); //3\n+\t\tSystem.out.println(\"=======================================\");\n+\t\tSystem.out.println(\"taskbarNativeHeight: \" + taskbarNativeHeight); //243 should be 75\n+\t\tSystem.out.println(\"taskbarNativeWidth: \" + taskbarNativeWidth); //1080\n+\t\tSystem.out.println(\"taskbarWebviewHeight: \" + taskbarWebviewHeight); //81 should be 25\n+\t\tSystem.out.println(\"taskbarWebviewWidth: \" + taskbarWebviewWidth); //360\n+\t\tSystem.out.println(\"=======================================\");\n+\t\tSystem.out.println(\"appNativeWidth: \" + appNativeWidth); //1080\n+\t\tSystem.out.println(\"appNativeHeight: \" + appNativeHeight); //1677 should be 1845\n+\t\tSystem.out.println(\"appWebviewHeight: \" + appWebviewHeight); //559 should be 615\n+\t\tSystem.out.println(\"appWebviewWidth: \" + appWebviewWidth); //360\n+\t\tSystem.out.println(\"=======================================\");\n+\t\tSystem.out.println(\"loadedPageHeight: \" + loadedPageHeight); //2484\n+\t\tSystem.out.println(\"loadedPageWidth: \" + loadedPageWidth); //360\n+\t\tSystem.out.println(\"=======================================\");\n+\t}\n+\t\n+\t/**\n+\t * \n+\t * @param direction Use public const DIRECTION from that class\n+\t * @param pixelPath\tFrom 0 to half of screen X or Y, if path will be too high it will be set to edge of app\n+\t * @param duration In milliseconds\n+\t * @param waitAfter In milliseconds, Reccomend 2*duration\n+\t */\n+\tpublic void swipeFromCenterToDirection(String direction, int pixelPath, int duration, int waitAfter){\n+\t\tint centerX = appNativeWidth / 2;\n+\t\tint centerY = (appNativeHeight / 2) + taskbarNativeHeight;\n+\t\tint path = 0;\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\tswitch (direction) {\n+\t\t\tcase \"left\": \n+\t\t\t\tif (pixelPath < centerX) {\n+\t\t\t\t\tpath = pixelPath;\n+\t\t\t\t} else {\n+\t\t\t\t\tpath = centerX - 2;\n+\t\t\t\t}\n+\t\t\t\ttry {\n+\t\t\t\t\tmobileDriver.swipe(centerX, centerY, centerX - path, centerY, duration);\n+\t\t\t\t} catch (Exception e) {}\n+\t\t\t\tbreak;\n+\t\t\tcase \"right\": \n+\t\t\t\tif (pixelPath < centerX) {\n+\t\t\t\t\tpath = pixelPath;\n+\t\t\t\t} else {\n+\t\t\t\t\tpath = centerX - 2;\n+\t\t\t\t}\n+\t\t\t\ttry {\n+\t\t\t\t\tmobileDriver.swipe(centerX, centerY, centerX + path, centerY, duration);\t\n+\t\t\t\t} catch (Exception e) {}\n+\t\t\t\tbreak;\n+\t\t\tcase \"up\": \n+\t\t\t\tif (pixelPath < centerY) {\n+\t\t\t\t\tpath = pixelPath;\n+\t\t\t\t} else {\n+\t\t\t\t\tpath = centerY - 2;\n+\t\t\t\t}\n+\t\t\t\ttry {\n+\t\t\t\t\tmobileDriver.swipe(centerX, centerY, centerX, centerY - path, duration);\t\t\t\t\n+\t\t\t\t} catch (Exception e) {}\n+\t\t\t\tbreak;\n+\t\t\tcase \"down\": \n+\t\t\t\tif (pixelPath < centerY) {\n+\t\t\t\t\tpath = pixelPath;\n+\t\t\t\t} else {\n+\t\t\t\t\tpath = centerY - 2;\n+\t\t\t\t}\n+\t\t\t\ttry {\t\t\t\t\t\t\n+\t\t\t\t\tmobileDriver.swipe(centerX, centerY, centerX, centerY + path, duration);\t\n+\t\t\t\t} catch (Exception e) {}\n+\t\t\t\tbreak;\n+\t\t\tdefault: break;\n+\t\t}\n+\t\ttry {\n+\t\t\tThread.sleep(waitAfter);\n+\t\t} catch (Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"WEBVIEW_1\") {\n+\t\t\tmobileDriver.context(\"WEBVIEW_1\");\n+\t\t}\n+\t}\n+\t\n+\t/**\n+\t * \n+\t * @param startX Use value 0-100, it is percent of app width, Reccomend 10-90\n+\t * @param startY Use value 0-100, it is percent of app height, Reccomend 10-90\n+\t * @param endX Use value 0-100, it is percent of app width, Reccomend 10-90\n+\t * @param endY Use value 0-100, it is percent of app height, Reccomend 10-90\n+\t * @param duration In milliseconds\n+\t * @param waitAfter In milliseconds, Reccomend 2*duration\n+\t */\n+\tpublic void swipeFromPointToPoint(int startX, int startY, int endX, int endY, int duration, int waitAfter) {\t\t\n+\t\tstartX = (int)((startX / 100f) * appNativeWidth);\n+\t\tstartY = (int)(((startY / 100f) * appNativeHeight) + taskbarNativeHeight);\n+\t\tendX = (int)((endX / 100f) * appNativeWidth);\n+\t\tendY = (int)(((endY / 100f) * appNativeHeight) + taskbarNativeHeight);\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\ttry {\n+\t\t\tmobileDriver.swipe(startX, startY, endX, endY, duration);\n+\t\t} catch (Exception e) {}\n+\t\ttry {\n+\t\t\tThread.sleep(waitAfter);\n+\t\t} catch (Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"WEBVIEW_1\") {\n+\t\t\tmobileDriver.context(\"WEBVIEW_1\");\n+\t\t}\n+\t}\n+\t\n+\t/**\n+\t * It uses two fingers to zoom in or out.\n+\t * @param startX Use value 0-100, it is percent of app width, Reccomend 50\n+\t * @param startY Use value 0-100, it is percent of app height, Reccomend 10-90\n+\t * @param fingersSpace Space between two fingers, In pixel, It must be less than pixelPath, Reccomend 20-100\n+\t * @param pixelPath From 0 to half of screen X, if path will be too high it will be set to edge of app\n+\t * @param zoomWay Use public const ZOOM_WAY from that class\n+\t * @param waitAfter In milliseconds\n+\t */\n+\tpublic void zoomInOutPointXY(int pointX, int pointY, int fingersSpace, int pixelPath, String zoomWay, int waitAfter) {\n+\t\tpointX = (int)((pointX / 100f) * appNativeWidth);\n+\t\tpointY = (int)(((pointY / 100f) * appNativeHeight) + taskbarNativeHeight);\n+\t\tTouchAction touchOne = new TouchAction(mobileDriver);\n+\t\tTouchAction touchTwo = new TouchAction(mobileDriver);\n+\t\tMultiTouchAction multiTouch = new MultiTouchAction(mobileDriver);\n+\t\tint halfPath = 0;\n+\t\tint endXOne = 0;\n+\t\tint endXTwo = 0;\n+\t\tint offSet = 0;\n+\t\tint startXOne = 0;\n+\t\tint startXTwo = 0;\n+\t\tif (fingersSpace >= pixelPath) {\n+\t\t\tfingersSpace = pixelPath - 2;\n+\t\t}\n+\t\tfingersSpace /= 2;\n+\t\tif (pixelPath < appNativeWidth) {\n+\t\t\thalfPath = pixelPath / 2;\n+\t\t} else {\n+\t\t\thalfPath = (appNativeWidth - 2) / 2;\n+\t\t}\n+\t\tendXOne = pointX - halfPath;\n+\t\tif (endXOne < 0) {\n+\t\t\toffSet = -endXOne;\n+\t\t\tendXOne = 0;\n+\t\t}\n+\t\tendXTwo = pointX + halfPath;\n+\t\tif (endXTwo > (appNativeWidth - 2)) {\n+\t\t\toffSet = (appNativeWidth - 2) - endXTwo;\n+\t\t\tendXTwo = (appNativeWidth - 2);\n+\t\t}\n+\t\tif (offSet > 0) {\n+\t\t\tendXTwo += offSet;\n+\t\t}\n+\t\tif (offSet < 0) {\n+\t\t\tendXOne += offSet;\n+\t\t}\n+\t\tstartXOne = pointX - fingersSpace;\n+\t\tif (startXOne <= 0) {\n+\t\t\tstartXOne = 1;\n+\t\t}\n+\t\tstartXTwo = pointX + fingersSpace;\n+\t\tif (startXTwo >= (appNativeWidth - 2)) {\n+\t\t\tstartXTwo = appNativeWidth - 3;\n+\t\t}\n+\t\tif (zoomWay == \"out\") {\n+\t\t\tint temp;\n+\t\t\ttemp = startXOne;\n+\t\t\tstartXOne = endXOne;\n+\t\t\tendXOne = temp;\n+\t\t\ttemp = startXTwo;\n+\t\t\tstartXTwo = endXTwo;\n+\t\t\tendXTwo = temp;\n+\t\t}\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\ttouchOne.press(startXOne, pointY).moveTo(endXOne - startXOne, 0).release();\n+\t\ttouchTwo.press(startXTwo, pointY).moveTo(endXTwo - startXTwo, 0).release();\n+\t\tmultiTouch.add(touchOne);\n+\t\tmultiTouch.add(touchTwo);\n+\t\ttry {\n+\t\t\tmultiTouch.perform();\n+\t\t} catch (Exception e) {}\n+\t\ttry {\n+\t\t\tThread.sleep(waitAfter);\n+\t\t} catch (Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"WEBVIEW_1\") {\n+\t\t\tmobileDriver.context(\"WEBVIEW_1\");\n+\t\t}\n+\t}\n+\t\n+\t/**\n+\t * \n+\t * @param pointX Use value 0-100, it is percent of app width, Reccomend 10-90\n+\t * @param pointY Use value 0-100, it is percent of app height, Reccomend 10-90\n+\t * @param duration In milliseconds, Reccomend 500\n+\t * @param waitAfter In milliseconds\n+\t */\n+\tpublic void tapOnPointXY(int pointX, int pointY, int duration, int waitAfter) {\n+\t\tpointX = (int)((pointX / 100f) * appNativeWidth);\n+\t\tpointY = (int)(((pointY / 100f) * appNativeHeight) + taskbarNativeHeight);\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\ttry {\n+\t\t\tmobileDriver.tap(1, pointX, pointY, duration);\n+\t\t} catch (Exception e) {}\n+\t\ttry {\n+\t\t\tThread.sleep(waitAfter);\n+\t\t} catch (Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"WEBVIEW_1\") {\n+\t\t\tmobileDriver.context(\"WEBVIEW_1\");\n+\t\t}\n+\t}\n+\t\n+\t/**\n+\t * It scroll to element then tap on his center.\n+\t * It scroll only vertically so if element need to be scrolled horizontally it won't work\n+\t * @param locator Use By selector, Example By.cssSelector('img.loaded')\n+\t * @param index If locator find more than one element use index to access element you want\n+\t * @param duration In milliseconds, Reccomend 500\n+\t * @param waitAfter In milliseconds\n+\t */\n+\tpublic void tapOnWebElement(By locator, int index, int duration, int waitAfter) {\n+\t\tJavascriptExecutor js = (JavascriptExecutor) driver;\n+\t\tWebElement element;\n+\t\tif (index > 0) {\n+\t\t\tList<WebElement> elements = driver.findElements(locator);\n+\t\t\telement = elements.get(index);\n+\t\t} else {\n+\t\t\telement = driver.findElement(locator);\n+\t\t}\n+\t\tint elementStartPointX = element.getLocation().getX();\n+\t\tint elementHeight = element.getSize().getHeight();\n+\t\tint elementWidth = element.getSize().getHeight();\n+\t\tint offSetY = loadedPageHeight - element.getLocation().getY() - appWebviewHeight;\n+\t\tif (offSetY < 0) {\n+\t\t\toffSetY = -offSetY;\n+\t\t} else {\n+\t\t\toffSetY = 0;\n+\t\t}\n+\t\tjs.executeScript(\"window.scrollTo(0, \"+element.getLocation().getY()+\")\");\n+\t\tint pointX = (elementStartPointX + (elementWidth / 2)) * ratio;\n+\t\tint pointY = (taskbarWebviewHeight + (elementHeight / 2) + offSetY) * ratio; \n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {\n+\t\t\tmobileDriver.context(\"NATIVE_APP\");\n+\t\t}\n+\t\ttry {\n+\t\t\tmobileDriver.tap(1, pointX, pointY, duration);\n+\t\t} catch (Exception e) {}\n+\t\ttry {\n+\t\t\tThread.sleep(waitAfter);\n+\t\t} catch (Exception e) {}\n+\t\tif (mobileDriver.getContext() != \"NATIVE_APP\") {","path":"src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/mercury/PerformTouchAction.java","position":356,"original_position":356,"commit_id":"451d48b0c4a0d4a885fbaf52ef128b4afff000ec","original_commit_id":"451d48b0c4a0d4a885fbaf52ef128b4afff000ec","user":{"login":"rochan","id":6047704,"avatar_url":"https://avatars.githubusercontent.com/u/6047704?v=3","gravatar_id":"","url":"https://api.github.com/users/rochan","html_url":"https://github.com/rochan","followers_url":"https://api.github.com/users/rochan/followers","following_url":"https://api.github.com/users/rochan/following{/other_user}","gists_url":"https://api.github.com/users/rochan/gists{/gist_id}","starred_url":"https://api.github.com/users/rochan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rochan/subscriptions","organizations_url":"https://api.github.com/users/rochan/orgs","repos_url":"https://api.github.com/users/rochan/repos","events_url":"https://api.github.com/users/rochan/events{/privacy}","received_events_url":"https://api.github.com/users/rochan/received_events","type":"User","site_admin":false},"body":"if doing a String comparison, it needs to be used with .equals()\r\nRight now, this comparison would always hold true and trigger the next statement.","created_at":"2015-01-26T19:39:42Z","updated_at":"2015-01-26T19:39:42Z","html_url":"https://github.com/Wikia/selenium-tests/pull/480#discussion_r23557934","pull_request_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480","_links":{"self":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/comments/23557934"},"html":{"href":"https://github.com/Wikia/selenium-tests/pull/480#discussion_r23557934"},"pull_request":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480"}}},"pull_request":{"url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480","id":28045930,"html_url":"https://github.com/Wikia/selenium-tests/pull/480","diff_url":"https://github.com/Wikia/selenium-tests/pull/480.diff","patch_url":"https://github.com/Wikia/selenium-tests/pull/480.patch","issue_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/480","number":480,"state":"open","locked":false,"title":"More tests, cleaning","user":{"login":"tomasznapieralski","id":10118538,"avatar_url":"https://avatars.githubusercontent.com/u/10118538?v=3","gravatar_id":"","url":"https://api.github.com/users/tomasznapieralski","html_url":"https://github.com/tomasznapieralski","followers_url":"https://api.github.com/users/tomasznapieralski/followers","following_url":"https://api.github.com/users/tomasznapieralski/following{/other_user}","gists_url":"https://api.github.com/users/tomasznapieralski/gists{/gist_id}","starred_url":"https://api.github.com/users/tomasznapieralski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomasznapieralski/subscriptions","organizations_url":"https://api.github.com/users/tomasznapieralski/orgs","repos_url":"https://api.github.com/users/tomasznapieralski/repos","events_url":"https://api.github.com/users/tomasznapieralski/events{/privacy}","received_events_url":"https://api.github.com/users/tomasznapieralski/received_events","type":"User","site_admin":false},"body":"Please CR:\r\n@rochan \r\n@RodriGomez ","created_at":"2015-01-26T17:51:41Z","updated_at":"2015-01-26T19:39:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"da254f9eab431cdc005c56a626ccb29cde52c82b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480/commits","review_comments_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480/comments","review_comment_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls/comments/{number}","comments_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/480/comments","statuses_url":"https://api.github.com/repos/Wikia/selenium-tests/statuses/451d48b0c4a0d4a885fbaf52ef128b4afff000ec","head":{"label":"Wikia:mercury-002","ref":"mercury-002","sha":"451d48b0c4a0d4a885fbaf52ef128b4afff000ec","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":6275065,"name":"selenium-tests","full_name":"Wikia/selenium-tests","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/selenium-tests","description":"","fork":false,"url":"https://api.github.com/repos/Wikia/selenium-tests","forks_url":"https://api.github.com/repos/Wikia/selenium-tests/forks","keys_url":"https://api.github.com/repos/Wikia/selenium-tests/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/selenium-tests/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/selenium-tests/teams","hooks_url":"https://api.github.com/repos/Wikia/selenium-tests/hooks","issue_events_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/selenium-tests/events","assignees_url":"https://api.github.com/repos/Wikia/selenium-tests/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/selenium-tests/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/selenium-tests/tags","blobs_url":"https://api.github.com/repos/Wikia/selenium-tests/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/selenium-tests/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/selenium-tests/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/selenium-tests/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/selenium-tests/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/selenium-tests/languages","stargazers_url":"https://api.github.com/repos/Wikia/selenium-tests/stargazers","contributors_url":"https://api.github.com/repos/Wikia/selenium-tests/contributors","subscribers_url":"https://api.github.com/repos/Wikia/selenium-tests/subscribers","subscription_url":"https://api.github.com/repos/Wikia/selenium-tests/subscription","commits_url":"https://api.github.com/repos/Wikia/selenium-tests/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/selenium-tests/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/selenium-tests/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/comments/{number}","contents_url":"https://api.github.com/repos/Wikia/selenium-tests/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/selenium-tests/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/selenium-tests/merges","archive_url":"https://api.github.com/repos/Wikia/selenium-tests/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/selenium-tests/downloads","issues_url":"https://api.github.com/repos/Wikia/selenium-tests/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/selenium-tests/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/selenium-tests/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/selenium-tests/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/selenium-tests/releases{/id}","created_at":"2012-10-18T08:06:11Z","updated_at":"2015-01-26T19:13:46Z","pushed_at":"2015-01-26T19:13:45Z","git_url":"git://github.com/Wikia/selenium-tests.git","ssh_url":"git@github.com:Wikia/selenium-tests.git","clone_url":"https://github.com/Wikia/selenium-tests.git","svn_url":"https://github.com/Wikia/selenium-tests","homepage":null,"size":92797,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":3,"forks":1,"open_issues":3,"watchers":2,"default_branch":"master"}},"base":{"label":"Wikia:master","ref":"master","sha":"ef4cef8a030a4cf7cd924106eee8bebf632cad24","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":6275065,"name":"selenium-tests","full_name":"Wikia/selenium-tests","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/selenium-tests","description":"","fork":false,"url":"https://api.github.com/repos/Wikia/selenium-tests","forks_url":"https://api.github.com/repos/Wikia/selenium-tests/forks","keys_url":"https://api.github.com/repos/Wikia/selenium-tests/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/selenium-tests/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/selenium-tests/teams","hooks_url":"https://api.github.com/repos/Wikia/selenium-tests/hooks","issue_events_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/selenium-tests/events","assignees_url":"https://api.github.com/repos/Wikia/selenium-tests/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/selenium-tests/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/selenium-tests/tags","blobs_url":"https://api.github.com/repos/Wikia/selenium-tests/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/selenium-tests/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/selenium-tests/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/selenium-tests/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/selenium-tests/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/selenium-tests/languages","stargazers_url":"https://api.github.com/repos/Wikia/selenium-tests/stargazers","contributors_url":"https://api.github.com/repos/Wikia/selenium-tests/contributors","subscribers_url":"https://api.github.com/repos/Wikia/selenium-tests/subscribers","subscription_url":"https://api.github.com/repos/Wikia/selenium-tests/subscription","commits_url":"https://api.github.com/repos/Wikia/selenium-tests/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/selenium-tests/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/selenium-tests/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/selenium-tests/issues/comments/{number}","contents_url":"https://api.github.com/repos/Wikia/selenium-tests/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/selenium-tests/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/selenium-tests/merges","archive_url":"https://api.github.com/repos/Wikia/selenium-tests/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/selenium-tests/downloads","issues_url":"https://api.github.com/repos/Wikia/selenium-tests/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/selenium-tests/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/selenium-tests/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/selenium-tests/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/selenium-tests/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/selenium-tests/releases{/id}","created_at":"2012-10-18T08:06:11Z","updated_at":"2015-01-26T19:13:46Z","pushed_at":"2015-01-26T19:13:45Z","git_url":"git://github.com/Wikia/selenium-tests.git","ssh_url":"git@github.com:Wikia/selenium-tests.git","clone_url":"https://github.com/Wikia/selenium-tests.git","svn_url":"https://github.com/Wikia/selenium-tests","homepage":null,"size":92797,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":3,"forks":1,"open_issues":3,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480"},"html":{"href":"https://github.com/Wikia/selenium-tests/pull/480"},"issue":{"href":"https://api.github.com/repos/Wikia/selenium-tests/issues/480"},"comments":{"href":"https://api.github.com/repos/Wikia/selenium-tests/issues/480/comments"},"review_comments":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480/comments"},"review_comment":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/Wikia/selenium-tests/pulls/480/commits"},"statuses":{"href":"https://api.github.com/repos/Wikia/selenium-tests/statuses/451d48b0c4a0d4a885fbaf52ef128b4afff000ec"}}}}