gpt4 book ai didi

python - 使用 Selenium/Python/Nose 时浏览器实例化两次

转载 作者:行者123 更新时间:2023-12-01 05:01:23 24 4
gpt4 key购买 nike

我正在使用 Selenium 和 python 绑定(bind)创建一个示例测试,并用 Nose 运行它。我知道我做错了什么,因为测试打开了两个浏览器(运行安装程序时,Firefox 窗口打开并立即关闭,然后当测试运行 driver.get 时,另一个窗口打开)。我有以下项目:

/test_project
/config
config.ini
/pages
__init__.py
test_page.py
/test_scripts
script.py
__init__.py
base.py
config_parser.py

config.ini:

[Selenium]
browser: firefox
base_url: http://www.google.com/
chromedriver_path:

base.py

from selenium import webdriver
from config_parser import Config


class TestCase(object):

def setup(self):
self.config = Config()

if self.config.read_config('Selenium', 'browser').lower() == 'firefox':
self.driver = webdriver.Firefox()
elif self.config.read_config('Selenium', 'browser').lower() == 'chrome':
self.driver = webdriver.Chrome(self.config.read_config('Selenium', 'chromedriver_path'))

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

test_page.py

from config_parser import Config

class TestPage(object):

def __init__(self, driver):
self.driver = driver
self.config = Config()

def open(self):
self.driver.get(self.config.read_config('Selenium', 'base_url'))
import time
time.sleep(3)

脚本.py

from pages import test
from base import TestCase


class RandomTest(TestCase):

def test_foo(self):
x = test.TestPage(self.driver)
x.open()
assert 1 == 1

有人可以帮助我理解为什么会打开两个浏览器窗口以及我可以采取哪些措施来纠正此问题?

提前谢谢您。

最佳答案

这是因为您的基 TestCase 类也被 Nose 测试运行程序识别为测试。

@nottest 标记它装饰器:

from selenium import webdriver
from config_parser import Config
from nose.tools import nottest

@nottest
class TestCase(object):
...

关于python - 使用 Selenium/Python/Nose 时浏览器实例化两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com