【发布时间】:2020-02-26 21:46:06
【问题描述】:
我正在尝试运行此代码以在 Chrome 和 Firefox 中执行某些操作,但是当我运行测试运行程序 Chrome 启动并且测试用例在 Chrome 中失败时,Firefox 会打开并且测试用例在 Firefox 中运行良好。
我尝试了 for 循环和一些不起作用的东西。
这是我的代码:
from selenium import webdriver as wd
import pytest
import time
Chrome=wd.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
Firefox=wd.Firefox(executable_path=r"C:\geckodriver\geckodriver.exe")
class TestLogin():
@pytest.fixture()
def setup1(self):
browsers=[Chrome, Firefox]
for i in browsers:
self.driver= i
i.get("https://www.python.org")
time.sleep(3)
yield
time.sleep(3)
self.driver.close()
def test_Python_website(self,setup1):
self.driver.find_element_by_id("downloads").click()
time.sleep(3)
【问题讨论】:
-
查看您的缩进 -
yield仅在for循环之后执行一次。self.driver将始终设置为 Firefox。
标签: python selenium testing cross-browser