metrolog.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.support.ui import WebDriverWait
  5. from selenium.webdriver.support import expected_conditions as ES
  6. import time
  7. class MetrologWebTest():
  8. USER = 'user'
  9. PASWORD = 'uchetmo'
  10. def __init__(self):
  11. self.driver = webdriver.Firefox()
  12. def login(self, ip: str) -> bool:
  13. self.driver.get('http://' + ip)
  14. time.sleep(1)
  15. self.driver.find_element(By.ID, 'login').send_keys(self.USER)
  16. self.driver.find_element(By.ID, 'pass').send_keys(self.PASWORD)
  17. self.driver.find_element(By.CLASS_NAME, 'btn.btn-primary').click()
  18. time.sleep(1)
  19. return True if self.driver.title == "Состояние модема" else False
  20. def test_page_click(self):
  21. while True:
  22. time.sleep(1)
  23. nav = self.driver.find_element(By.XPATH, "//ul[@id='nav']/li[2]/a").click()
  24. time.sleep(1)
  25. nav = self.driver.find_element(By.XPATH, "//ul[@id='nav']/li[3]/a").click()
  26. time.sleep(1)
  27. nav = self.driver.find_element(By.XPATH, "//ul[@id='nav']/li[1]/a").click()
  28. # element = WebDriverWait(self.driver, 10).until(ES.element_to_be_clickable(('link text', 'settings.html')))
  29. # element.click()
  30. my_test = MetrologWebTest()
  31. if my_test.login('192.168.31.230') == True:
  32. my_test.test_page_click()