zoukankan      html  css  js  c++  java
  • 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来判断通过哪个浏览器运行测试用例,并通过百度收索相应的关键字。

  • 相关阅读:
    paip.提升性能C#.NET程序内存占用过多以及OutOfMemory解决方法
    ATTILAX项目进展表VC425
    paip.VOB DVD视频的无损分割与截取
    paip.程序不报错自动退出的解决
    paip.TechExcel DevSuite IIS 应用配置
    paip.软件版本完善计划C426fromVC423
    paip.chrome使用ACTIVX 的总结
    PAIP批量改名JS实现
    Source Navigato rNG4.4在ubuntu的简单的安装
    QuartusII编译出错小小总结
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7868220.html
Copyright © 2011-2022 走看看