本節遺留問題:登入時,偶有報錯:#未登入或逾時,請重新登入!懷疑為網絡問題,有待後續跟蹤。
本節說明:1、alert隻要存在就可以使用driver.switch_to.alert轉換到彈框中
2、driver.title可直接使用。self.assertEquals(driver.title,"保定清苑區邢農商村鎮銀行股份有限公司信貸管理系統")
#--*--coding:utf-8--*--
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
from selenium import webdriver
import time
import unittest
import os
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.by import By
address="http://10.16.30.144:7006/loan/login.jsp"
class Login(unittest.TestCase):
def setUp(self):
driver = webdriver.Ie()
driver.implicitly_wait(10)
# driver.maxmize_window()
self.driver = driver
return
def test_login(self):
driver = self.driver
driver.get(address)
driver.find_element_by_css_selector("input[name='user']").clear()
driver.find_element_by_css_selector("input[name='user']").send_keys("101016")
driver.find_element_by_css_selector("input[name='pwd']").clear()
driver.find_element_by_css_selector("input[name='pwd']").send_keys("")
time.sleep(5)
# 擷取目前視窗的句柄
currentWin = driver.current_window_handle
print currentWin
#time.sleep(10)
#跳轉到另一個新頁面,alert
driver.find_element_by_name("button1").click()
time.sleep(5)
dr=driver.switch_to.alert
#time.sleep(10)
print dr.text
dr.accept()
time.sleep(3)
#第二個alert
dri=driver.switch_to.alert
print dri.text
dri.accept()
all_handles=driver.window_handles
print all_handles
#登入成功的視窗為新生成的視窗
for i in all_handles:
if(i==currentWin):
continue
else:
driver.switch_to.window(i)
self.assertEquals(driver.title,"XXXXX信貸管理系統")
print driver.title
time.sleep(3)
#切換到frame中
#driver.switch_to.frame("mainFrame")
#driver.find_element_by_link_text("申請中業務").click()
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()