Python Selenium Exception AttributeError: "Объект" Сервис "не имеет атрибута" процесс "в selenium.webdriver.ie.service.Service
У меня есть набор тестов Selenium Python. Он запускается, но через несколько минут выдается следующая ошибка:
Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.ie.service.Service object at 0x0000000002610DD8>> ignored
Реализация моего тестового набора:
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)
Может ли кто-нибудь помочь, почему эта ошибка останавливает запуск моего тестового набора? Как это решить?
Ответы
Ответ 1
Если вы установили селен и предположили, что ранее в журнале трассировки консоли вы также получили что-то вроде "исполняемый файл" chromedriver ", который должен быть в PATH" в вашем script, вы должны уметь:
from selenium import webdriver
driver = webdriver.Chrome("/path/to/chromedriver")
Это должно сообщить вашему script, где найти хромированный реверс. На Mac вы обычно можете использовать:/usr/local/bin/chromedriver
Ответ 2
Загрузите драйвер хрома из https://sites.google.com/a/chromium.org/chromedriver/downloads
Разархивируйте файл, а затем из своего кода напишите что-нибудь вроде:
from selenium import webdriver
driver = webdriver.Chrome("/path/to/chromedriver")
где/path/to/chromedriver - это местоположение вашего хромированного ребра.
Это объявление класса для Chrome Webdriver: selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', ...
взято из https://seleniumhq.github.io/selenium/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.webdriver.html#module-selenium.webdriver.chrome.webdriver