当前位置: 首页 > 面试题库 >

Python + WebDriver —使用unittest模块时未启动浏览器

弓宏茂
2023-03-14
问题内容

您能帮我下一个吗?我发现了问题,无法解决。当我使用下一个代码时,浏览器已经启动并且测试通过了:

import unittest
from selenium import webdriver
driver = webdriver.Chrome('D:\chromedriver\chromedriver.exe')
driver.get("site URL")

但是与类和方法相同的消息返回消息:“进程以退出代码0结束”:

import unittest
from selenium import webdriver
class GlossaryPage(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path='D:\chromedriver\chromedriver.exe')
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)
    def NoLorem(self):
        driver = self.driver
        driver.get("site URL")
    def tearDown(self):
        unittest.quit()

如何使用第二种情况(带有方法和类)打开浏览器?

非常感谢您的帮助。


问题答案:

在使用 Selenium 处理Python的 unittest 模块时,您必须考虑以下几个事实: __

  • 当您传递 密钥时 executable_path,请通过单引号和原始开关提供 r
  • 定义@Tests名称时,以测试开头的 测试, 例如 def test_NoLorem(self):
  • 在调用时,请get()确保您传递的是有效的url例如 http://www.python.org
  • 当您在quit()内部def tearDown(self):调用方法时,通过 WebDriver 实例以方式调用该方法self.driver.quit()
  • 如果使用 unittest 模块,则必须Tests通过 name ==“ main 来调用直通
  • 这是您自己的代码,需要进行一些小的修改:

    import unittest
    

    from selenium import webdriver

    class GlossaryPage(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)
    def test_NoLorem(self):
        driver = self.driver
        driver.get("http://www.python.org")
    def tearDown(self):
        self.driver.quit()
    

    if name == “main”:
    unittest.main()



 类似资料:
  • 我使用的是Selenium 2.53.0Java、Tor 6.0.4和Firefox43。我用Firefoxprofile()加载profile.default归档文件,并用firefox.exe加载Firefoxbinary()来执行tor。Tor启动,但它没有启动,它显示两个错误:无法连接到Tor控制端口和Tor启动失败。

  • 我已经开始学习Selenium WebDriver。我注意到的问题,如给定的网址不采取后火狐浏览器推出。请帮忙解决问题 WebDriver版本:2.53 Firefox:48.0 我看到下面的错误 组织。openqa。硒。火狐。NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。Firefox控制台输出:,“syncGUID”:“0Sec7

  • WebSocketBadStatusException Traceback (most recent call last) Input In [28], in <cell line: 1>() ----> 1 page=ChromiumPage() File ~\anaconda3\lib\site-packages\DrissionPage\_pages\chromium_page.py:33,

  • 线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由WebDriver.Chrome.driver系统属性设置;有关更多信息,请参见https://github.com/seleniumhq/selenium/wiki/chromedriver。最新版本可从http://chromedriver.storage.googleapis

  • 问题内容: 抱歉,您有愚蠢的问题,但是如何在webdriver中启动Chrome浏览器?我知道我必须指定chromedriver.exe的路径。问题是我无法下载chromedriver.exe,它已被删除。我发现的文件也没有.exe扩展名。我正在使用Eclipse,Java。请帮忙!我按照建议的步骤进行了所有操作,但是没有用。这是我的代码: 这是错误: 失败:测试java.lang.Illegal

  • 我试图使用eclipse来运行Selenium Web驱动程序自动化,但无法打开浏览器窗口。调试日志显示没有错误,我成功地检索了网页的标题,如下所示: 调试日志:1496221115902 geckodriver信息监听127.0.0.1:39119 1496221116097 geckodriver::木偶信息启动浏览器/应用程序/火狐.app/contents/macos/firefox-bi