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

Selenium多浏览器处理

Python 版本

#导入依赖
import os
from selenium import webdriverdef test_browser():#使用os模块的getenv方法来获取声明环境变量browserbrowser = 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;@BeforeAllpublic static void initData() {//获取声明环境变量browserString 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 安装章节


             【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通


二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

http://www.lryc.cn/news/100900.html

相关文章:

  • 浅谈 AI 大模型的崛起与未来展望:马斯克的 xAI 与中国产业发展
  • 【CesiumJS材质】(1)圆扩散
  • 实战-单例模式和创建生产者相结合
  • [SQL挖掘机] - 窗口函数介绍
  • 原生js实现锚点滚动顶部
  • 使用mysql接口遇到点问题
  • excel绘制折线图或者散点图
  • ChatGPT长文本对话输入方法
  • FFmpeg-swresample的更新
  • 回答网友 修改一个exe
  • 数据可视化 - 动态柱状图
  • 【JVM】JVM五大内存区域介绍
  • 自动驾驶感知系统--惯性导航定位系统
  • Netty简介
  • 基于TCP/IP对等模型对计算机网络知识点的整合
  • 【SQL应知应会】表分区(一)• Oracle版
  • PostgreSQL 常用空间处理函数
  • ubuntu初始化/修改root密码
  • 【Linux后端服务器开发】select多路转接IO服务器
  • 支持向量机(iris)
  • 24考研数据结构-第二章:线性表
  • Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述动态 sql 的执行原理不?
  • 250_C++_typedef std::function<int(std::vector<int> vtBits)> fnChkSstStt
  • 无涯教程-jQuery - Transfer方法函数
  • openGauss学习笔记-24 openGauss 简单数据管理-模式匹配操作符
  • JAVASE---数据类型与变量
  • IDEA Groovy 脚本一键生成实体类<mybatisplus>
  • 无涯教程-jQuery - Puff方法函数
  • 什么叫前后端分离?为什么需要前后端问题?解决了什么问题?
  • Vector<T> 动态数组(随机访问迭代器)(答案)