天天看點

5selenium+python 視窗alert跳轉 登入成功

本節遺留問題:登入時,偶有報錯:#未登入或逾時,請重新登入!懷疑為網絡問題,有待後續跟蹤。

本節說明: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()