bt67xx.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import time
  2. import threading
  3. from selenium import webdriver
  4. from selenium.webdriver.common.by import By
  5. from selenium.webdriver.support.ui import Select
  6. class BT67xxWebTest():
  7. def __init__(self, ip):
  8. self.ip = ip
  9. self.web_thread = threading.Thread(target=self.test_update_in_thread, daemon=True)
  10. def connect(self):
  11. self.driver = webdriver.Firefox()
  12. self.driver.get('http://' + self.ip)
  13. def login(self):
  14. self.driver.find_element(By.ID, 'login').send_keys("admin")
  15. self.driver.find_element(By.ID, 'pass').send_keys("12345")
  16. self.driver.find_element(By.CLASS_NAME, 'btn.btn-primary').click()
  17. time.sleep(1)
  18. def go_to_iap(self):
  19. self.driver.get('http://' + self.ip + '/settings.html')
  20. self.driver.find_element(By.ID, 'tabset1__service').click()
  21. self.driver.find_element(By.ID, 'dev-update').click()
  22. select = Select(self.driver.find_element(By.ID, 'dev_update_method'))
  23. select.select_by_value('manual')
  24. self.driver.find_element(By.ID, 'start_fw_update').click()
  25. # Go to IAP!
  26. alert = self.driver.switch_to.alert
  27. alert.accept()
  28. time.sleep(12)
  29. self.driver.get('http://' + self.ip)
  30. time.sleep(1)
  31. print(self.driver.find_element(By.CLASS_NAME, 'fileUpload.btn.btn-primary').text)
  32. # print(self.driver.find_elements_by_name())
  33. # self.driver.find_element(By.ID, 'uploadBtn2').click()
  34. def test_update_in_thread(self):
  35. pass
  36. def test_update(self):
  37. self.connect()
  38. self.login()
  39. self.go_to_iap()
  40. def main():
  41. bt67xx = BT67xxWebTest("192.168.0.254")
  42. bt67xx.test_update()
  43. if __name__ == '__main__':
  44. main()