写点什么

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

  • 2023-02-14
    北京
  • 本文字数:1068 字

    阅读完需:约 4 分钟

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

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

实战演示

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

Python 演示代码

# 导入依赖import osfrom 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 所示

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | Selenium对多浏览器处理_测试_测吧(北京)科技有限公司_InfoQ写作社区