python多线程执行测试用例_多线程执行测试用例

python提供了两个模块来实现多线程thread 和threading ,thread 不支持守护线程,当主线程退出后,所以的子线程不管它们是否在工作,都会被强行退出。在threading 得到了弥补,所以我们应该尽量使用threading

下面看一个用多线程技术执行测试用例,实现操作多个浏览器的例子

#coding=utf-8

import threading

from selenium import webdriver

from time import ctime,sleep

#测试用例

def test_baidu(browser,search):

print('start:%s' % ctime)

print('browser:%s '% browser)

if browser=="ie":

driver=webdriver.Ie()

elif browser=="chrome":

driver=webdriver.Chrome()

elif browser=="ff":

driver=webdriver.Firefox()

else:

print("browserde only ie /ff/ chrome")

driver.get('http://www.baidu.com')

driver.find_element_by_id("kw").send_keys(search)

driver.find_element_by_id("su").click()

sleep(2)

driver.quit()

if __name__=='__main__':

#指定参数(指定浏览器与百度搜索内容)

lists={'chrome':'thraeding','ie':'webdriver','ff':'python'}

threads=[]

file=range(len(lists))

#创建线程

for browser,search in lists.items():

t=threading.Thread(target=test_baidu,args=(browser,search))

threads.append(t)

#启动线程

for t in file:

threads[t].start()

for t in file:

threads[t].join()

print('end:%s' % ctime())

执行结果如下图:

808722-20170914154313813-902631037.png

首先,使用threading,首先要引入threading;

其次,创建lists字典,对浏览器与搜索的内容进行参数化,通过多线程来运行test_baidu()的测试用例; 最后,在执行用例前使用多重if来判断通过那个浏览器运行测试用例,并通过百度搜索搜索对应的关键 字;

注意:

unittest框架不支持多线程技术,不能想Java的testNG框架那样经过简单的配置后,执行多线程的测试用例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值