python3 + selenium webdriver自动化测试启动不同浏览器

selenium webdriver 介绍

Selenium WebDriver 是 Selenium 项目中的一个核心组件,它提供了跨多种浏览器的自动化测试能力。Selenium WebDriver 旨在替代之前的 Selenium RC (Remote Control) 模型,为开发人员和测试人员提供了更简单、更高效的自动化测试解决方案。

Selenium WebDriver 主要特点如下:

  • 跨浏览器支持:
    Selenium WebDriver 支持主流浏览器,如 Chrome、Firefox、Safari、Edge 等,并且可以在不同的操作系统(Windows、macOS、Linux)上运行。

  • 多语言支持:
    Selenium WebDriver 提供了 Java、Python、C#、Ruby、JavaScript 等多种编程语言的 API,开发人员可以选择熟悉的语言来编写测试用例。

  • 驱动程序架构:
    Selenium WebDriver 采用驱动程序的架构,每种浏览器都需要对应的驱动程序(如 ChromeDriver、GeckoDriver 等)来控制浏览器的自动化操作。

  • API 丰富:
    Selenium WebDriver 提供了大量的 API 供开发人员使用,可以执行各种Web元素定位、交互、导航、断言等操作。

  • 灵活性和可扩展性:
    Selenium WebDriver 可以集成到各种测试框架和持续集成工具中,如 JUnit、pytest、Jenkins 等,提高了测试的灵活性和可维护性。

  • 支持无头浏览器:
    Selenium WebDriver 除了支持传统的有界面浏览器,还支持无头浏览器(如 PhantomJS、Headless Chrome/Firefox),可以在无界面环境下进行自动化测试。

Selenium WebDriver 进行自动化测试的一般流程

  • 安装并配置好对应浏览器的驱动程序。
  • 使用 WebDriver API 创建浏览器实例,并打开待测试的网页。
  • 定位页面元素,并对这些元素执行各种操作,如输入文本、点击按钮等。
  • 对测试结果进行断言验证。
  • 关闭浏览器实例,完成测试。

浏览器驱动下载

浏览器驱动名称备注
Chromechromedriver浏览器版本需要和驱动版本对应
Firefoxgeckodriver浏览器版本需要和驱动版本对应
Edgeedgedriver浏览器版本需要和驱动版本对应
IEIEdriverServer浏览器版本需要和驱动版本对应
safarisafariDriver自带webdriver
operaoperadriverOpera基于Chromium开发
phantomjsphantomjs无UI界面,2018年停止了开发和维护

浏览器驱动的安装

1.下载对应浏览器驱动成功后
2.以ubuntu 为例,将下载后的驱动移动到 /usr/local/bin/ 目录下
3.检查浏览器驱动与浏览器版本是否一致
可以双击驱动程序,未出现闪退证明版本吻合

chrome、edge、Firefox、Opera、Safari、phantomjs 应用

from selenium import webdriver


def test_webdriver():
    driver = webdriver.Chrome()
    # driver=webdriver.Edge()
    # driver = webdriver.Firefox()
    # driver = webdriver.Opera()
    # driver = webdriver.Safari()
    # driver = webdriver.PhantomJS()
    # 需要访问的地址
    driver.get("http://xxxx")
    # 对页面进行操作
    driver.find_element_by_xpath("//a[@id='LoginLink']").click()
    # 运行结束关闭整个浏览器窗口
    driver.close()

# 调用该函数
test_webdriver()

python xxxx.py 运行即可

Headless Chrome 、Headless Firefox 应用

Headless Chrome 是一种无界面的Chrome浏览器
Headless Firefox是一种无界面的Firefox浏览器

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.chrome.options import Options


def test_webdriver():
    options = Options()
    options.add_argument("--headless")
    driver = webdriver.Chrome(options=options)
    # driver = webdriver.Firefox(options=options)
    # 需要访问的地址
    driver.get("http://xxx")
    # 对页面进行操作
    driver.find_element_by_xpath("//a[@id='LoginLink']").click()
    # 运行结束关闭整个浏览器窗口
    driver.close()

# 调用该函数
test_webdriver()
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值