【问题标题】: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() 来关闭和销毁 WebDriver 和 Web 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