‘browser‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。selenium多浏览器处理如何指定特定浏览器

创建Base.py文件进行多浏览器处理,测试用例文件test_0706form.py集成Base这个类,Base.py文件内容如下:

import os
from selenium import webdriver


class Base():
    def setup_method(self):
        browser = os.getenv("browser")
        if browser == 'chrome':
            self.driver = webdriver.Chrome()
        elif browser == 'edge':
            self.driver = webdriver.Edge()
        else:
            self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()

    def teardown_method(self):
        self.driver.quit()

问题一:
在windows输入命令browser=chrome pytest **.py的时候提示如下:

D:\PycharmProjects\huogewozi\test_sel>browser=chrome pytest test_0706form.py
'browser' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

原因:这条命令是Mac苹果电脑的命令,windows要分别执行命令如下:

D:\PycharmProjects\huogewozi\test_sel>set browser=chrome
D:\PycharmProjects\huogewozi\test_sel>pytest test_0706form.py
'browser' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

问题二:
但是其实并没有生效,不能指定浏览器运行。
解决方法:指定浏览器驱动的具体路径

import os
from selenium import webdriver


class Base():
    def setup_method(self):
        browser = os.getenv("browser")
        if browser == 'chrome':
            self.driver = webdriver.Chrome('C:\Python38\chromedriver.exe')
        elif browser == 'edge':
            self.driver = webdriver.Edge('C:\Python38\msedgedriver.exe')
        else:
            self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()

    def teardown_method(self):
        self.driver.quit()

你可能感兴趣的:(python,selenium,selenium,python)