【问题标题】:Chrome is not launching from pycharm/selenium and gives message Process finished with exit code 0Chrome 没有从 pycharm/selenium 启动,并给出消息 Process finished with exit code 0
【发布时间】:2018-09-21 19:00:58
【问题描述】:
import datetime
import unittest

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait


class EnvSetup(unittest.TestCase):

    def setup(self):
        #self.driver = webdriver.chrome(r"C:/Users/Administrator/Downloads/Python Download/chromedriver_win32/chromedriver.exe")
        self.driver = webdriver.firefox(executable_path="C:/Users/Administrator/Downloads/Python Download/geckodriver-v0.20.0-win64/geckodriver.exe")
        self.driver.maximize_window()
        wait = WebDriverWait(self.driver, 10)
        #self.driver.i
        print("Browser Started at :" + str(datetime.datetime.now()))
        print("Chrome has been setUP....")
        print("************************************")
        self.driver.close()


    def test_checkBrowser(self):
        driver = self.driver
        driver.get("https://www.goibibo.com/")

    def closeBrowser(self):
        driver = self.driver
        self.driver.save_screenshot('1.png')
        print('Test Completed: Closing the browser...')
        self.driver.close()

    if __name__ ==' main ':
        unittest.main

【问题讨论】:

  • 在正文中提出问题总是好的

标签: python selenium-webdriver webdriver pycharm python-unittest


【解决方案1】:

在使用 Python 的 unittest 模块时,您需要注意一些事情,如下所示:

  • 构造函数是webdriver.Firefox(),但不是webdriver.firefox()
  • 当使用 Python 的 unittest 模块时,方法是 setUp 但不是 setup()
  • 如果您在 setUp() 中调用 self.driver.close(),方法 Browser 将被关闭,并且不会再执行 Tests。所以删除该行:

    self.driver.close()
    
  • 当使用 Python 的 unittest 模块和 setup() 方法时,您需要使用 tearDown() strong> 方法在最后。所以需要把方法名从closeBrowser()改成tearDown()

  • 如果您分配driver = self.driver,那么您可以直接调用方法:

    driver.save_screenshot('1.png')
    
  • 始终在 tearDown(){} 方法中调用 driver.quit() 来关闭和销毁 WebDriverWeb Client 个优雅的实例。

  • 确保您的代码缩进对于 __name__ ==' main ' 不正确。
  • 这是您自己的包含上述更改的程序:
  • 代码块:

    import datetime
    import unittest
    from selenium import webdriver
    
    class EnvSetup(unittest.TestCase):
    
        def setUp(self):
            self.driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
            print("Browser Started at :" + str(datetime.datetime.now()))
            print("Chrome has been setUP....")
            print("************************************")
    
        def test_checkBrowser(self):
            driver = self.driver
            driver.get("https://www.goibibo.com/")
            driver.save_screenshot('./Screenshots/1.png')
            print('Test Completed: Closing the browser...')
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == "__main__":
        unittest.main()
    
  • 控制台输出:

    Finding files... done.
    Importing test modules ... done.
    
    Browser Started at :2018-09-24 15:07:49.786924
    Chrome has been setUP....
    ************************************
    Test Completed: Closing the browser...
    ----------------------------------------------------------------------
    Ran 1 test in 10.911s
    
    OK
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-24
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    相关资源
    最近更新 更多