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

235 阅读1分钟

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

注:实现对不同浏览器的自动化兼容性测试,需要先将各个浏览器的驱动在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所示

image-20230128174945177.png

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