python+selenium多线程启动多个不同浏览器
时间:2021-07-28
本文章向大家介绍python+selenium多线程启动多个不同浏览器,主要包括python+selenium多线程启动多个不同浏览器使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
如果想用多个浏览器跑同一套测试代码,driver=webdriver.Firefox()这里的driver就不能写死了,可以把浏览器名称参数化。
后续如果想实现多线程同时启动浏览器执行用例,用前面讲的tomorrow模块,设置下线程数套用下就可以了
启动浏览器
1.为了实现多个浏览器的灵活切换,可以把启动浏览器写一个函数,参数用浏览器名称就行了
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))
多线程启动不同浏览器
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)
声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/
如出现转载未声明 将追究法律责任~谢谢合作
原文地址:https://www.cnblogs.com/chenxiaomeng/p/15071250.html
- mysql执行计划看是否最优
- 通过IP定位区域的SQL优化思路(r10笔记第10天)
- Java基础-day06-知识点回顾与练习
- 【Go 语言社区】Golang语言的多核并行化例子
- 一条SQL语句的执行计划变化探究(r10笔记第9天)
- 【Go 语言社区】Web 通信 之 长连接、长轮询(long polling)--转
- Dubbo入门-协议;注册中心
- Oracle 12c PDB浅析(二)(r8笔记第29天)
- 【Go 语言社区】在 Go 语言中,如何正确的使用并发
- Data Guard高级玩法:通过闪回恢复failover备库 (r10笔记第7天)
- ajax跨域问题-web开发必会
- 在线重定义的补充测试(r10笔记第26天)
- 聊聊Data Guard中的DG Broker(r10笔记第24天)
- stuts2返回json数据简单实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- c语言之指针与数组知识点随笔
- Chrome 插件开发-右键菜单开发实战演示,浏览器页面右键菜单选项设置,插件右键菜单点击插件名跳转主页设置
- Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
- Python 技术篇-通过进程名称、PID杀死windows进程的两种方法,获取当前运行程序的pid
- MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
- MySQL 数据库mysqlbinlog使用问题:unknown variable ‘default-character-set=utf8‘.解决方法
- Python 技术篇-pip安装提示:‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,问题解决方法
- Jaskson精讲第6篇-自定义JsonSerialize与Deserialize实现数据类型转换
- let和var和const
- Jupyter 编写python代码实现代码自动补齐功能设置实例演示
- 第37期:从头学二叉搜索树(面试常考)
- Jupyter 工具的安装与使用方法,jupyter运行python代码演示,好用的python编辑器推荐!
- Nginx相关配置与操作
- Python 技术篇-全局与当前socket超时连接时间设置方法实例演示,查看socket超时连接时间
- 给 JDK 报了一个 P4 的 Bug,结果居然……