当前位置: 首页 > news >正文

Selenium多浏览器处理

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

Python版本

#导入依赖 import os from selenium import webdriver def test_browser(): #使用os模块的getenv方法来获取声明环境变量browser browser = os.getenv("browser").lower() #判断browser的值 if browser == "headless": driver = webdriver.PhantomJS() elif browser == "firefox": driver = webdriver.Firefox() else: driver = webdriver.Chrome() driver.get("https://ceshiren.com/")

Java版本

//导入依赖 import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.safari.SafariDriver; public class EnvTest { public static WebDriver driver; @BeforeAll public static void initData() { //获取声明环境变量browser String browserName = System.getenv("browser"); //判断browser的值 if ("chrome".equals(browserName)) { driver = new ChromeDriver(); } else if ("firefox".equals(browserName)) { driver = new FirefoxDriver(); } else if ("safari".equals(browserName)) { driver = new SafariDriver(); } driver.get("https://ceshiren.com/"); } }

启动的时候设置 browser 使用的浏览器驱动,就可以进行多浏览器的处理

Python 版本

browser=firefox pytest test_hogwarts.py

Java 版本

browser="chrome" mvn -Dtest=AlertTest test

在 Windows 下比较特殊,要使用 Windows 下的 set 来给变量赋值

Python 版本

>set browser=firefox >pytest test_hogwarts.py

Java 版本

>browser="chrome" >mvn -Dtest=AlertTest test


需要注意的是,要先将各个浏览器的驱动配置好,具体的配置方式参考 Selenium 安装章节。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/553952/

相关文章:

  • 从天气预警框到仪表盘:vue-draggable-resizable在数据可视化中的高级玩法
  • AlwaysOnTop:重新定义你的数字工作空间
  • (二)利用Navicat实现MSSQL到PostgreSQL的高效数据迁移
  • ViGEmBus虚拟游戏控制器驱动深度解析与实战指南
  • 设计事件驱动微服务笔记-全-
  • 别再让地图‘飘’了!深入浅出解析Cesium中GCJ-02、BD-09坐标偏移原理与DVGIS库实战
  • Axure RP本地化全攻略:从界面优化到效率提升的开源工具本地化指南
  • 3个创新方案解决HEIC预览难题:windows-heic-thumbnails的跨平台价值
  • 3.28 学习笔记
  • 如何让B站缓存视频真正为你所有?m4s-converter打破平台限制的实用方案
  • 保姆级教程:用OpenCV的SimpleBlobDetector搞定圆形标定板圆心提取(附完整C++代码)
  • 从理论到实践:深入解析循环对称复高斯噪声的通信基石作用
  • lingbot-depth-pretrain-vitl-14效果展示:多光照/反光表面深度补全自然边缘案例
  • 5步解决Windows Defender被移除后的系统防护重建难题
  • UnrealPakViewer:解锁Unreal引擎Pak文件管理的效率革命
  • 打破PCB文件查看壁垒:OpenBoardView如何重塑硬件开发效率
  • 从数据到应用:手把手教你用Python脚本解析rosbag,提取图片和点云
  • Lingbot-Depth-Pretrain-Vitl-14 结合Transformer架构:深度估计模型优化实战
  • 从H5到uni-app:迁移‘滚动菜单高亮’功能时,我踩过的3个关键差异点
  • 别再手动取色了!手把手教你写一个MATLAB小工具,自动提取图片Colorbar的Colormap
  • SEO实战培训课程学完后能做什么工作
  • 360CDN 产品实测合集:CDN / 高防 / SDK 游戏盾真实反馈
  • 开源工具Lenovo Legion Toolkit:硬件性能调校与系统优化全指南
  • Youtu-Parsing一键部署教程:基于Docker与Node.js环境配置
  • 如何永久备份你的QQ空间回忆?GetQzonehistory使用指南
  • VMware虚拟机迁移到深信服Sangfor的5个常见错误及解决方法(附详细步骤)
  • Android开发提速秘籍:手把手教你用Artifactory OSS搭建私有仓库,告别Gradle编译慢
  • 微信小程序分享朋友圈实战:从Page.onShareTimeline配置到单页模式适配避坑指南
  • 深入解析SD卡CMD指令集:从寄存器操作到数据传输实战
  • 3大突破:WorkshopDL如何让跨平台玩家免费获取Steam创意工坊内容的创新方案