Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. from appium import webdriver
  2. from appium.webdriver.common.touch_action import TouchAction
  3.  
  4. caps = {}
  5. caps["platformName"] = "Android"
  6. caps["platformVersion"] = "5.1"
  7. caps["deviceName"] = "HUAWEI G9 plus"
  8. caps["automationName"] = "Appium"
  9. caps["app"] = "C:\\Users\\Will Turner\\Downloads\\snapchat.apk"
  10. caps["noReset"] = True
  11.  
  12. driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
  13.  
  14. #basic snapchat functions, from snippits
  15.  
  16. #logout, must be at camera to use
  17. def logout():
  18. el1 = driver.find_element_by_id("com.snapchat.android:id/neon_header_profile_button_container")
  19. el1.click()
  20. driver.tap([(676, 64)]).perform()
  21. driver.press(x=378, y=976).move_to(x=11, y=-565).release().perform()
  22.  
  23.  
  24. driver.tap([(114, 1162)]).perform()
  25. el2 = driver.find_element_by_id("com.snapchat.android:id/yes_button")
  26. el2.click()
  27.  
  28. from appium import webdriver
  29. from time import sleep
  30.  
  31. #camera error shit
  32. #cameraError =
  33. #if driver.find_element_by_id("android:id/message").is_displayed():
  34. # cancelBtn = driver.find_element_by_id("android:id/button2")
  35. # cancelBtn.click()
  36. #else:
  37. # pass
  38.  
  39. #betaWindow = driver.find_element_by_id("com.snapchat.android:id/yes_button")
  40. #if driver.find_element_by_id("com.snapchat.android:id/yes_button").is_displayed():
  41. # print("Beta window found, clicking yes..")
  42. # driver.find_element_by_id("com.snapchat.android:id/yes_button").click()
  43. #else:
  44. # pass
  45.  
  46. # VARIABLES #
  47. # camera button is useless except for testing purposes since we're going to be posting photos from camera roll, etc.
  48. #cameraBtn = driver.find_element_by_accessibility_id("Take a snap, double tap and hold to take a video") # n\a
  49. #textBtn = driver.find_element_by_id("com.snapchat.android:id/vertical_tools_caption_btn") # text button for captions
  50. #clipBtn = driver.find_element_by_id("com.snapchat.android:id/vertical_tools_caption_btn") # button to attach links
  51. #sendToBtn = driver.find_element_by_id("com.snapchat.android:id/send_to_button") # button to send photos
  52. #saveBtn = driver.find_element_by_id("com.snapchat.android:id/save_button_complex_view") # button to save photos
  53. #exitBtn = driver.find_element_by_id("com.snapchat.android:id/preview_back_discard_button") # button to exit photo
  54.  
  55. profileBtn = driver.find_element_by_accessibility_id("Profile")
  56.  
  57. memoriesButton = driver.find_element_by_id("com.snapchat.android:id/nueva_nav_memories_icon")
  58. actions = TouchAction(driver)
  59.  
  60. def goToMemories():
  61. memoriesButton.click()
  62. sleep(1)
  63. print("Pressed memories button")
  64. def pressCameraRoll():
  65. driver.tap([(520, 117)])
  66. print("Pressed camera roll button!!!")
  67. sleep(1)
  68. def scroll():
  69. #yes i know this is fucking greasy and could make a loop but im lazy
  70. # driver.execute_script("mobile: scroll", {"direction": "down", element: element.getAttribute("id")})
  71. # TouchAction().click(x=348, y=855).move_to(x=0, y=-56).release()
  72. TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-37).release().perform()
  73. sleep(2)
  74. TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-37).release().perform()
  75. sleep(2)
  76. TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-19).release().perform()
  77. sleep(1)
  78. print("Scrolled!")
  79. #Picutre selection functions. Based on coordinates, so to view the next 12 pics, you would have to use the to be made scroll() function
  80. picData = "N/A"
  81. def selPicOne():
  82. driver.tap([(132, 299)])
  83. sleep(5)
  84. print("Selected grid picture one. Info: {}".format(picData))
  85. def selPicTwo():
  86. driver.tap([(346, 307)])
  87. print("Selected grid picture two. Info: {}".format(picData))
  88. def selPicThree():
  89. driver.tap([(588, 293)])
  90. print("Selected grid picture Three. Info: {}").format(picData)
  91. def selPicFour():
  92. driver.tap([(112, 530)])
  93. def selPicFive():
  94. driver.tap([(400, 522)])
  95. def selPicSix():
  96. driver.tap([(609, 550)])
  97. #make up to selPicTwelve
  98. #longpress to send to story
  99. def picLongPress():
  100. #just threw some random coords out there tbh, may need adjustment
  101. #driver.long_press([(346, 307)]).sleep(.3).release()
  102. actions.long_press([350, 300], .3).release().perform()
  103. def pressSendTo():
  104. driver.find_element_by_id("com.snapchat.android:id/send_to_button").click()
  105. goToMemories()
  106. pressCameraRoll()
  107. scroll()
  108. selPicTwo()
  109. #picLongPress()
  110. #end camera shit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement