技术分享 | Selenium多浏览器处理

举报
ceshiren 发表于 2022/05/12 18:09:32 2022/05/12
【摘要】 本文节选自霍格沃兹测试开发学社内部教材通过对代码的改造,实现自动化脚本对多浏览器的支持。通过传递不同的参数测试不同的浏览器,用来实现浏览器的兼容性测试。实战演示Python 版本#导入依赖import osfrom selenium import webdriverdef test_browser(): #使用os模块的getenv方法来获取声明环境变量browser brows...

本文节选自霍格沃兹测试开发学社内部教材


通过对代码的改造,实现自动化脚本对多浏览器的支持。


通过传递不同的参数测试不同的浏览器,用来实现浏览器的兼容性测试。


实战演示


  • 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.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/");
    }
}
获取更多相关资料:请添加vx,ceshiren001


启动的时候设置 browser 使用的浏览器驱动,就可以进行多浏览器的处理

  • Python 版本
browser=firefox pytest test_hogwarts.py
  • Java 版本
browser="chrome" mvn -Dtest=AlertTest test


在 Windows 下比较特殊,要使用 Windows 下的 set 来给变量赋值

  • Python 版本
>set browser=firefox

>pytest test_hogwarts.py
  • Java 版本
>browser="chrome" 

>mvn -Dtest=AlertTest test

需要注意的是,要先将各个浏览器的驱动配置好,具体的配置方式参考 Selenium 安装章节。

获取更多相关资料:
https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=hwyun&timestamp=1652341581&author=MM

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。