Selenium多浏览器处理

news2024/12/24 10:24:07

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 安装章节


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


一、Python编程入门到精通


二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/807195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日一题——删除有序数组中的重复项

删除有序数组中的重复项 题目链接 注:本题所采用的方法是建立在移除元素的基础之上的,如果大家对双指针的方法不大了解,或者不会做《移除元素》这一题,建议先去看看👉传送门 具体步骤 定义两个指针slow和fast&#…

计算并展示指定文件夹的大小

背景需求 有时候电脑里磁盘空间越来越小,不得不删除一些占空间大的文件。最笨的方法就是对某一个文件夹下一个一个查看大小,效率太慢。 效果图 Code import os import matplotlib.pyplot as plt plt.rcParams[font.family] sans-serif # 设置字体为…

Jenkins pipeline 脚本语言学习支持

1 引言 Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。 使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。 Groovy是一…

大模型开发(十四):使用OpenAI Chat模型 + Google API实现一个智能收发邮件的AI应用程序

全文共1.2w余字,预计阅读时间约24~40分钟 | 满满干货(附代码),建议收藏! 本文目标:将Gmail API接入Chat模型,编写一个智能收发邮件的AI应用程序 代码下载点这里 一、背景 大模型应用开发从谷歌云入手进行学习和AI…

Python爬虫的urlib的学习(学习于b站尚硅谷)

目录 一、页面结构的介绍  1.学习目标  2.为什么要了解页面(html)  3. html中的标签(仅介绍了含表格、无序列表、有序列表、超链接)  4.本节的演示 二、Urllib  1.什么是互联网爬虫?  2.爬虫核心  3.爬虫…

Sentinel 容灾中心的使用

Sentinel 容灾中心的使用 往期文章 Nacos环境搭建Nacos注册中心的使用Nacos配置中心的使用 熔断/限流结果 Jar 生产者 spring-cloud-alibaba:2021.0.4.0 spring-boot:2.6.8 spring-cloud-loadbalancer:3.1.3 sentinel:2021.0…

如何快速模拟一个后端 API

第一步:创建一个文件夹,用来存储你的数据 数据: {"todos": [{ "id": 1, "text": "学习html44", "done": false },{ "id": 2, "text": "学习css", "…

只会“点点点”,凭什么让开发看的起你?

众所周知,如今无论是大厂还是中小厂,自动化测试基本是标配了,毕竟像双 11、618 这种活动中庞大繁杂的系统,以及多端发布、多版本、机型发布等需求,但只会“写一些自动化脚本”很难胜任。这一点在招聘要求中就能看出来。…

Android 面试题 优化 (一)

🔥 Android性能优化指标 🔥 ​ 🔥 包体积优化 🔥 安装包的大小会影响用户的安装率,如果一个包的太大,用户安装的意愿会大大降低。 经过包分析可以看到,安装包最大的部分是资源和第三方库&#…

奥迪A3:最新款奥迪A3内饰设计及智能科技应用

奥迪A3一直以来都是奥迪的入门级车型,但这并不意味着它在科技和内饰方面会有所退步。最新款奥迪A3的内饰设计和智能科技应用让人们再次惊叹奥迪的创新能力。 内饰设计 奥迪A3最新款的内饰设计引入了奥迪最新的设计元素,比如8.8英寸的中控显示屏&#xf…

山西电力市场日前价格预测【2023-07-30】

日前价格预测 预测明日(2023-07-30)山西电力市场全天平均日前电价为287.10元/MWh。其中,最高日前电价为309.20元/MWh,预计出现在09: 15。最低日前电价为252.82元/MWh,预计出现在24: 00。 价差方向预测 1:实…

Dendrogram | 今天是人见人爱、花见花开的环形Dendrogram!~(附完整代码)

1写在前面 好长时间没更新了,这周真的是天天都在手术室度过,常讲到的一句话就是苦的一比啊。🫠 很久没有见过外面的世界了,世界那么大,我也想去看看!~😂 废话太多了,今天的教程是环形…

网络安全/信息安全(黑客技术)自学笔记

一、网络安全基础知识 1.计算机基础知识 了解了计算机的硬件、软件、操作系统和网络结构等基础知识,可以帮助您更好地理解网络安全的概念和技术。 2.网络基础知识 了解了网络的结构、协议、服务和安全问题,可以帮助您更好地解决网络安全的原理和技术…

从分片传输到并行传输之大文件传输加速技术

随着大文件的传输需求越来越多,传输过程中也会遇到很多困难,比如传输速度慢、文件安全性低等。为了克服这些困难,探讨各种大文件传输加速技术。其中,分片传输和并行传输是两种比较常见的技术,下面将对它们进行详细说明…

WEB:Web_python_template_injection

背景知识 python模板注入 ssit 题目 打开题目,发现页面提示,翻译为python模板注入 先测试是否存在注入 可以发现被执行了 先查看所有的子类 payload {{[].__class__.__base__.__subclasses__()}} 利用site.Printer的os模块执行命令 payload {{.__…

CAN转EtherNet/IP网关can协议破解服务

JM-EIP-CAN 是自主研发的一款 ETHERNET/IP 从站功能的通讯网关。该产品主要功能是将各种 CAN 总线和 ETHERNET/IP 网络连接起来。 本网关连接到 ETHERNET/IP 总线中做为从站使用,连接到 CAN 总线中根据节点号进行读写。 技术参数 ETHERNET/IP 技术参数 网关做为 …

C# Socket实际应用案例与属性详解

引言 Socket是一个在网络编程中非常常见和重要的概念,它提供了一种通信机制,使不同的计算机之间可以进行数据传输。本文将介绍C#中Socket的实际应用案例,并对Socket的常用属性进行详细解析。 文章目录 1. Socket的实际应用案例2. Socket的属…

CAS比较并交换具体实现细节

线程2读取内存值到工作内存中,设置一个预估值与读入的值相等,线程1也同样读入。 线程2进行操作,之后在写入内存前,将预估值与内存值作比较,看内存值是否修改过。 如果线程2比较完相同,则修改内存值为1&am…

开源了!最强原创图解八股文面试网来袭

强烈推荐 Github上业内新晋的一匹黑马—Java图解八股文面试网—Java2Top.cn,图解 Java 大厂面试题,深入全面,真的强烈推荐~ 这是一个二本逆袭阿里的大佬根据自己秋招上岸所看过的相关专栏,面经,课程,结合自…

211. 添加与搜索单词 - 数据结构设计---------------字典树

211. 添加与搜索单词 - 数据结构设计 原题链接:完成情况:解题思路:参考代码: 原题链接: 211. 添加与搜索单词 - 数据结构设计 https://leetcode.cn/problems/design-add-and-search-words-data-structure/descriptio…