前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >selenium+python自动化91-多线程启动多个不同浏览器

selenium+python自动化91-多线程启动多个不同浏览器

作者头像
上海-悠悠
发布2018-04-08 18:02:08
2.2K0
发布2018-04-08 18:02:08
举报

一、前言

如果想用多个浏览器跑同一套测试代码,driver=webdriver.Firefox()这里的driver就不能写死了,可以把浏览器名称参数化。

后续如果想实现多线程同时启动浏览器执行用例,用前面讲的tomorrow模块,设置下线程数套用下就可以了

二、启动浏览器

1.为了实现多个浏览器的灵活切换,可以把启动浏览器写一个函数,参数用浏览器名称就行了

def startBrowser(name):

"""

打开浏览器函数,name参数:"firefox"、"chrome"、"ie"、"phantomjs"

"""

try:

if name == "firefox" or name == "Firefox" or name == "ff":

print("start browser name :Firefox")

driver = webdriver.Firefox()

return driver

elif name == "chrome" or name == "Chrome":

print("start browser name :Chrome")

driver = webdriver.Chrome()

return driver

elif name == "ie" or name == "Ie":

print("start browser name :Ie")

driver = webdriver.Ie()

return driver

elif name == "phantomjs" or name == "Phantomjs":

print("start browser name :phantomjs")

driver = webdriver.PhantomJS()

return driver

else:

print("Not found this browser,You can use 'firefox', 'chrome', 'ie' or 'phantomjs'")

except Exception as msg:

print("启动浏览器出现异常:%s" % str(msg))

三、 多线程启动不同浏览器

1.代码参考:

# coding:utf-8

from selenium import webdriver

import time

from tomorrow import threads

def startBrowser(name):

"""

打开浏览器函数,"firefox"、"chrome"、"ie"、"phantomjs"

"""

try:

if name == "firefox" or name == "Firefox" or name == "ff":

print("start browser name :Firefox")

driver = webdriver.Firefox()

return driver

elif name == "chrome" or name == "Chrome":

print("start browser name :Chrome")

driver = webdriver.Chrome()

return driver

elif name == "ie" or name == "Ie":

print("start browser name :Ie")

driver = webdriver.Ie()

return driver

elif name == "phantomjs" or name == "Phantomjs":

print("start browser name :phantomjs")

driver = webdriver.PhantomJS()

return driver

else:

print("Not found this browser,You can use 'firefox', 'chrome', 'ie' or 'phantomjs'")

except Exception as msg:

print("启动浏览器出现异常:%s" % str(msg))

@threads(5)

def run_case(name):

driver = startBrowser(name)

driver.get("https://www.cnblogs.com/yoyoketang/")

time.sleep(3)

print(driver.title)

driver.quit()

if __name__ == "__main__":

names = ["chrome", "ff", "ie"]

for i in names:

run_case(i)

2.运行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档