셀렌은 브라우저와의 수동 상호 작용을 기록 할 수있는 firefox plugin을 제공합니다. 그런 다음 단계를 파이썬, 루비, 자바 또는 C#으로 내보낼 수 있습니다. 프로그래밍 방식으로 라우터 설정을 조정하여 Wi-Fi를 사용하지 않게되었습니다. 녹음하는 동안 요소를 클릭하면 필요한 모든 항목을 식별 할 수 있습니다.
이 코드는 Actiontec MI424WR (FIOS)
에서 작동합니다. 사용자 이름, 암호 및 라우터 주소를 추가하는 코드를 편집하십시오.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
class Routr(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://routerip_or_address"
self.verificationErrors = []
self.accept_next_alert = True
def test_routr(self):
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_name("user_name").clear()
driver.find_element_by_name("user_name").send_keys("your_username")
driver.find_element_by_id("pass2").clear()
driver.find_element_by_id("pass2").send_keys("enter_your_password_here")
driver.find_element_by_link_text("OK").click()
driver.find_element_by_link_text("Change Wireless Settings").click()
driver.find_element_by_id("ws_off").click()
driver.find_element_by_link_text("Apply").click()
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException, e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
기본 영역 인증이 정확합니다. 로그인 할 수는 있지만 UI를 탐색하는 사용자를 시뮬레이트하기 위해 라우터에 보내는 HTTP 요청을 결정하는 방법을 잘 모르겠습니다. 어떤 제안? – DarLom
글쎄, 두 가지 옵션이 있습니다 : 1 : 웹 UI 리버스 엔지니어링 2 : 요청이 어떻게 진행되고 있는지보기 위해 방화 웜과 같은 시스템을 사용하십시오. 2 번을 권합니다. – chris12892
피들러와 같은 웹 디버그 프록시 사용에 동의합니다 –