通过对代码的改造,实现自动化脚本对多浏览器的支持。
通过传递不同的参数测试不同的浏览器,用来实现浏览器的兼容性测试。
实战演示
#导入依赖
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/")
复制代码
//导入依赖
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 使用的浏览器驱动,就可以进行多浏览器的处理
browser=firefox pytest test_hogwarts.py
复制代码
browser="chrome" mvn -Dtest=AlertTest test
复制代码
在 Windows 下比较特殊,要使用 Windows 下的 set 来给变量赋值
>set browser=firefox
>pytest test_hogwarts.py
复制代码
>browser="chrome"
>mvn -Dtest=AlertTest test
复制代码
需要注意的是,要先将各个浏览器的驱动配置好,具体的配置方式参考 Selenium 安装章节。
评论