软件测试 | Selenium对多浏览器处理

news2024/11/28 4:47:45

在执行自动化测试过程中,我们往往会针对不同的浏览器做兼容性测试,可以通过对测试用例代码的改造,实现对不同浏览器的自动化兼容性测试。

注:实现对不同浏览器的自动化兼容性测试,需要先将各个浏览器的驱动在PC端配置好,具体的配置方式可参考Selenium的官方文档。

实战演示

实现用Selenium对多浏览器处理的操作,演示代码如下(Python版和Java版)。

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.selenium.safari.SafariDriver;
​
public class EnvTest {
    public static WebDriver driver;
    @BeforeAll
    public static void initData(){
        //获取声明环境变量 browser
        String browseName = 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/");
    }
}

我们启动Selenium的时候需要设置browser使用的浏览器驱动,这样才能实现Selenium对多浏览器的处理。设置browser使用的浏览器驱动代码如下(Python版和Java版)。

Python版本

browser=firefox pytest test_hogwarts.py

Java版本

browser="chrome" mvn -Dtest=AlertTest test

在Windows系统下设置browser,要使用Windows系统下的set来给browser赋值。演示代码如下(Python版和Java版)。

Python版本

>set browser=firefox
>pytest test_hogwarts.py

Java版本

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

运行效果如图3-20所示

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

全套资料获取方式:点击下方小卡片自行领取即可

 

 

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

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

相关文章

基于PyQt5的桌面图像调试仿真平台开发(15)图像融合

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

AMEYA360:尼得科nidec恩布拉科变频压缩机介绍

能源安全、能源价格方面的挑战与气候危机交织 提高能源效率比以往任何时候都更为紧迫。 能源效率是应对当今全球能源危机的核心 也是能源价值创造的重要体现。 尼得科恩布拉科大金 带来制冷方面的节能研究 LMSEY系列冷库一体机使用变频调速可 节能约14%! 全球制冷技术供应商、尼…

浅谈配电能效平台在城市地下综合管廊的应用

摘要:电气设计是综合管廊设计的重要组成部分,文章对综合管廊的断面设计、供配电系统和缆线设计进行了分析阐述,并结合设计案例,简要总结了综合管廊电气设计要点。 关键词:综合管廊;断面设计;供配电系统;缆…

微信小程序如何进行开发?

文章目录 0.引言1.注册微信公众平台账号2.准备微信开发者工具3.创建微信小程序并预览 0.引言 笔者编程一般编得较多的是桌面软件,有时也会编手机软件,这些软件都必须安装才能使用,这限制了软件的推广。而现有社交软件如微信使用得较广泛&…

使用GitHub Actions 来进行项目远程服务器部署

由于项目源码是托管在github的,而部署是放在远程服务器上,并且使用nginx部署。 现在的部署流程时,需要更新时,在本地切换到master分支,执行构建操作,拿到构建出的dist目录,将其上传到远程服务的…

从GitLab拉取并运行项目

从GitLab拉取并运行项目 序Git项目运行运行报错 总结教训 序 搭建好前端基础环境后,开始尝试从单位项目组拉取项目尝试本地运行。 Git Git相关配置:一篇学会Git版本管理 先申请Git账号,随后由上级分配权限拉入该项目组。 通过git clone ……

年终奖大幅缩水,是去还是留?

一、年终奖的历史和意义 互联网行业是中国经济发展的一个重要支柱,这也使得互联网公司的年终奖一直是许多从业者最为关注的话题之一。随着行业的不断发展,互联网公司的年终奖也在不断提高,逐渐成为了企业吸引和留住人才的重要手段。在互联网…

基于archlinux的mabox-linux桌面系统,内存资源消耗只有278M!

今天安装了基于archlinux的mabox-linux桌面系统,内存资源消耗只有278M!实在是惊到我了。先上图,改天有空再深入体验一下。 安装后发现没有1920X1080这个分辨率,设置的命令如下: 一,xrandr #查看本机支持的…

短期面试突击攻略大全!2023最全Java面试题目合集

这两年的面试难度确实要比往年高处很多。很多小伙伴投递了上千份简历,只有几家公司约面试。排除个人简历的因素,这在往年都是不太常见的。 大厂缩招,于是很多往年能进大厂的人只能去卷中小厂,搞得层层内卷。 比如往年能有一万个人…

旅游卡分销小程序开发

旅游业的不断发展,旅游卡分销小程序成为了越来越多旅游公司的选择。旅游卡分销小程序是一种在线分销平台,它允许游客购买旅游卡并分销给其他人,从而获得佣金。本文将探讨旅游卡分销小程序的开发。 一、确定旅游卡分销小程序的需求 在…

低代码平台能友好的融入到toB项目中吗?

低代码平台通常可以友好地融入现有toB的交付项目中。虽然低代码平台和传统的高代码开发具有不同的开发方式和工具集,但它们可以在同一个项目中协同工作,互相补充,那么实现能配置的尽可能配置化,配置不出来的就手写。 对于普通IT项…

.Hex文件直接解析的实现_PIC芯片

1.问题 bootloader写成后,需要处理传送过来的.Hex,或者等价的文件的烧录。MicroChip官方并未给出一个.Hex转为.Bin的处理策略。在它的Bootloader代码中,我们可以大致看到它的实现机制,它定义了一组命令。上位机在处理升级时&#…

基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习六重要)

差分升级算法研究及改进 文件差分算法通过对不同文件的片段进行对比查找差异,将差异描述输出为差分文件。 差分算法是差分升级的关键技术,因此,差分算法的性能决定着整个升级系统的性能。 差分算法研究 差分更新又称为增量编码&#xff0…

yarn介绍与说明

1.介绍 说明:Yarn 是一个由 Facebook、Google、Exponent 和 Tilde 公司联合推出的新一代 JavaScript 包管理工具,用于取代 npm。与 npm 相比,Yarn 可以更快地下载依赖,更好地管理依赖版本,更稳定地构建依赖关系。 2.…

AWVS扫描工具使用教程

AWVS是一款Web漏洞扫描工具,通过网络爬虫测试网站安全,检测流行的Web应用攻击,如跨站脚本、sql 注入等。据统计,75% 的互联网攻击目标是基于Web的应用程序。 AWVS的主要功能模块 Blind SQL Injector:盲注工具 HTTP E…

单元测试报错 No tests found for given includes: [StudyApplicationTests.contextLoads]

当你运行单元测试报错No tests found for given includes: [StudyApplicationTests.contextLoads] 如下: 可能是因为你的gradle测试默认使用的是以gradle启动,改成以IDEA启动即可

力扣 64. 最小路径和

文章目录 题目描述解题思路 题目描述 https://leetcode.cn/problems/minimum-path-sum/ 解题思路 问题类型&#xff1a;动态规划 private int MinPathSum(int[][] grid) {for (int i 0; i < grid.Length; i) {for (int j 0; j < grid[i].Length; j) {if (i 0 &am…

Vue3 Diff 算法简易版

背景 学习一下Vue3中的diff算法~ 逻辑概述 这个算法的过程不算太复杂&#xff1a; 同时从新旧列表的头部遍历&#xff0c;找出相同的节点&#xff0c;则patch&#xff0c;否则就停止遍历&#xff1b;同时从新旧列表的尾部遍历&#xff0c;找出相同的节点&#xff0c;则patc…

使用Jetpack Compose中的LazyHorizontalGrid构建灵活的水平网格布局

在这篇博客中&#xff0c;我们将探讨如何使用Jetpack Compose中的LazyHorizontalGrid构建灵活的水平网格布局。 什么是LazyHorizontalGrid&#xff1f; LazyHorizontalGrid是Jetpack Compose中的一个组件&#xff0c;它可以用来创建一个灵活的、可滚动的水平网格布局。这个组件…

django 自定义分页类和使用总结

一、关于为何要分页 当处理大量数据时&#xff0c;如果一次将这些数据查询出来进行响应&#xff0c;必然对服务器内存、负载有所影响&#xff0c;影响低接口响应&#xff0c;进而影响用户体验。 常见的方式是将数据分段展示给用户&#xff0c;如果当前分段中没有需要的数据&am…