在执行自动化测试过程中,我们往往会针对不同的浏览器做兼容性测试,可以通过对测试用例代码的改造,实现对不同浏览器的自动化兼容性测试。
注:实现对不同浏览器的自动化兼容性测试,需要先将各个浏览器的驱动在 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 所示
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论