创建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()