selenium 多浏览器处理

开头

当我们做多浏览器自动化测试的时候,需要很多不同的浏览器,所以不同的参数对应不同的浏览器操作

目录结构

新建一个 base.py 文件, 通过 os 捕获到从命令行传进来的

import pytest
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import TouchActions
import os


class Base():
    def setup(self):
        browser = os.getenv("browser")
        if browser == 'edag':
            print('我是edag的驱动')
            # self.driver = webdriver.Edge()
        else:
            self.chrome_options = Options()
            self.chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")  # 指定配置好的 chrom
            self.chrome_options.add_experimental_option("w3c", False)
            self.chrome_driver = r"./chromedriver.exe"  # 驱动路径
            self.driver = webdriver.Chrome(self.chrome_driver, chrome_options=self.chrome_options)  # 加入驱动设置
            # self.driver.get('https://sahitest.com/demo/clicks.htm')  # 发起请求
            # self.driver.maximize_window()  # 设置为最大化
        self.driver.implicitly_wait(3)  # 添加一个隐式等待默认等待3秒

    def teardown(self):
        print('关闭浏览器')
        # time.sleep(1)
        # self.driver.quit()

新建一个 test_brow.py 文件,然后继承Base

from base import Base
import time
import pytest


class TestBrowser(Base):
    def test_brow(self):
        url = 'https://www.baidu.com/'
        self.driver.get(url)

在命令行中执行

browser=edag pytest -vs test_move.py

就可以将浏览器参数传进去

最后:如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试题合集

我们进阶学习自动化测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:

猜你喜欢

转载自blog.csdn.net/m0_75277660/article/details/130624762