1. 程式人生 > >selenium-webdriver循環點擊百度搜索結果以及獲取新頁面的handler

selenium-webdriver循環點擊百度搜索結果以及獲取新頁面的handler

pre Coding 之前 ref port 圖片 自動化測試 自動 頁面

  webdriver還是很有意思的,之前用過Ruby的watir的自動化測試框架,感覺selenium的這套框架更好一些,很容易就可以上手。我雖然不做自動化這塊,不過先玩玩再說,多學點東西總之還是好一些的。

  

 1 # coding:utf-8
 2 import time
 3 from selenium import webdriver
 4 import unittest
 5 from pythontest.commlib.baselib import *
 6 
 7 
 8 #引用封裝後的日誌系統
 9 log = TestLog().getlog()
10 class BaiBu(unittest.TestCase): 11 u‘‘‘【百度.類】‘‘‘ 12 def setUp(self): 13 self.browser = webdriver.Firefox() 14 self.browser.get("http://www.baidu.com") 15 self.browser.implicitly_wait(10) 16 #self.base = Screen(self.browser) 17 18 def tearDown(self):
19 self.browser.quit() 20 21 def test_search(self): 22 log.info("搜索前title:" + self.browser.title.encode("utf-8") ) #得到的title中文編碼格式,非UTF-8格式,需要轉碼 23 #輸入關鍵字,關鍵字任意 24 self.browser.find_element_by_class_name("s_ipt").send_keys(u"北京尚拓雲測 軟件測試外包公司") 25 self.browser.find_element_by_class_name("
s_btn").submit() #此處class屬性有三個值,中間使用空格隔開,取其中一值 26 #點擊搜索結果 27 self.browser.find_element_by_xpath(".//*[@id=‘2‘]/h3/a").click() #根據xpath識別元素 28 time.sleep(3) 29 log.info("結果頁:" + self.browser.title.encode("utf-8") ) #轉碼utf-8 30 self.assertIn("軟件測試",self.browser.title.encode("utf-8")) #斷言,轉碼 31 time.sleep(5) 32 ‘‘‘接下來的工作,是獲取新頁面的handler,以及循環點擊搜索結果‘‘‘ 33 34 if __name__ == "__main__": 35 unittest.main()

明天有時間再優化,根據id進行隨機數選取。可以參考我之前Ruby的一個自動化測試框架:http://www.cnblogs.com/zhuque/archive/2012/11/30/2796866.html

技術分享圖片

selenium-webdriver循環點擊百度搜索結果以及獲取新頁面的handler