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

  • 相关阅读:
    linux less命令用法
    Spark-RDD 模型 以及运行原理
    Spark 架构原理介绍 以及 job、task、stag 概念
    Kafka 基本概念以及框架介绍
    负载均衡- TCP/ IP 基础知识
    JAVA多线程和并发基础面试题
    Java并发使用--线程池
    Java基础--并发编程
    事务实现原则(一) 事务的改变以及JDBC事务的设计
    Spark RDD Transformation和Action
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7868220.html
Copyright © 2020-2023  润新知