selenium +python之多線程與多進程應用於自動化測試


多線程與多進程與自動化測試用例結合起來執行,從而節省測試用例的總體運行時間。

多線程執行測試測試用例

以百度搜索為例,通過不同的瀏覽器來啟動不同的線程。

 1 from selenium import webdriver
 2 
 3 # 測試用例
 4 from time import sleep, ctime
 5 import threading
 6 
 7 import threads
 8 
 9 
10 def test_baidu(browser, search):
11     print('start:%s' % ctime())
12     print('browser:%s,' % browser)
13     if browser == 'ie':
14         driver = webdriver.Ie()
15     elif browser == "chrome":
16         driver = webdriver.Chrome()
17     elif browser == 'ff':
18         driver = webdriver.Firefox()
19     else:
20         print("browser 參數有誤,只能為ie ,ff,chrome")
21     driver.get("http://www.baidu.com")
22     driver.find_element_by_id("kw").send_keys(search)
23     driver.find_element_by_id("su").clear()
24     sleep(2)
25     driver.quit()
26 
27 
28 if __name__ == '__main__':
29     # 啟動參數(指定瀏覽器與百度收縮內容)
30     lists = {'chrome': 'threading', 'ie': 'webdriver', 'ff': 'python'}
31     threads = []
32     files = range(len(lists))
33 
34     # 創建線程
35     for browser, search in lists.items():
36         t = threading.Thread(target=test_baidu, args=(browser, search))
37         threads.append(t)
38 
39     # 啟動線程
40     for t in files:
41         threads[t].start()
42     for t in files:
43         threads[t].join()
44     print('end:%s' % ctime())

創建lists字典,對瀏覽器與收索的內容進行參數化。通過多線程來運行test_baidu()的測試用例,在執行測試用例前使用多重if來判斷通過哪個瀏覽器運行測試用例,並通過百度收索相應的關鍵字。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM