Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Selenium Exception AttributeError: "'Service' object has no attribute 'process'" in selenium.webdriver.ie.service.Service

I have a Selenium Python test suite. It starts to run but after a few mins the following error is thrown:

Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.ie.service.Service object at 0x0000000002610DD8>> ignored

My test suite implementation is:

import unittest
from HTMLTestRunner2 import HTMLTestRunner
import os
import Regression_TestCase.RegressionProject_TestCase2


# get the directory path to output report file
#result_dir = os.getcwd()
result_dir = r"E:\test_runners\selenium_regression_test_5_1_1\ClearCore - Regression Test\TestReport"

# get all tests from SearchProductTest and HomePageTest class
search_tests = unittest.TestLoader().loadTestsFromTestCase(Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2)

# create a test suite combining search_test
re_tests = unittest.TestSuite([search_tests])

# open the report file
outfile = open(result_dir + "\TestReport.html", "w")

# configure HTMLTestRunner options
runner = HTMLTestRunner.HTMLTestRunner(stream=outfile,
                                       title='Test Report',
                                       description='Smoke Tests')

# run the suite using HTMLTestRunner
runner.run(re_tests)

Can anyone help why this error is stopping my test suite from running? How do I solve this?

like image 265
Riaz Ladhani Avatar asked May 03 '16 12:05

Riaz Ladhani


2 Answers

Provided you have installed selenium, and assuming that earlier in the console's traceback log you also got something like "'chromedriver' executable needs to be in PATH" in your script, you should be able to do:

from selenium import webdriver
driver = webdriver.Chrome("/path/to/chromedriver")

This should tell your script where to find chromedriver. On a Mac you can usually use: /usr/local/bin/chromedriver

like image 188
CubeBot88 Avatar answered Sep 28 '22 05:09

CubeBot88


Download chromium driver from https://sites.google.com/a/chromium.org/chromedriver/downloads

Unzip the file and then from your code, write something like:

     from selenium import webdriver 
     driver = webdriver.Chrome("/path/to/chromedriver")

where /path/to/chromedriver is the location of your chromedriver.

This is the class declaration for Chrome Webdriver: selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', ...

taken from https://seleniumhq.github.io/selenium/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.webdriver.html#module-selenium.webdriver.chrome.webdriver

like image 24
Tarek H Avatar answered Sep 28 '22 05:09

Tarek H