Утверждение не удалось в веб-тестировании селена - PullRequest
0 голосов
/ 30 сентября 2019

Когда я пытаюсь выполнить новый пример модульного теста, отображается следующая ошибка:

Примечание. У меня нет привилегий для установки пути из-за того, что я поместил веб-драйвер chrome в дисковод D.

Тестирование началось в 14:56 ... C: \ Users \ xxx.xxxx \ PycharmProjects \ Automation \ venv \ Scripts \ python.exe "C: \ Users \ xx.xxx \ AppData \Local \ JetBrains \ PyCharm Community Edition 2019.2 \ helpers \ pycharm_jb_unittest_runner.py "--path C: /Users/xx.xxx/PycharmProjects/Automation/UnitTest_1.py Запуск юнит-тестов с аргументами python -m unittest C: /Users/xx.xx/PycharmProjects/Automation/UnitTest_1.py в C: \ Users \ xx.xxx \ PycharmProjects \ Automation

Отслеживание ошибок (последний вызов был последним): файл "C: \ xxxx \ xxxxx \ PycharmProjects \ Automation \ venv"\ lib \ site-

packages \ selenium \ webdriver \ common \ service.py ", строка 76, в начале stdin = PIPE) Файл" C: \ Programs \ Python \ Python37-32 \ lib \ subprocess. py ", строка 775, в init restore_signals, start_new_session) Файл" C: \ Programs \ Python \ Python37-32 \ lib \ subprocess.py ", строка 1178, в _execute_child startupinfo) FileNotFoundError: [WinError 2] Системе не удается найти указанный файл

Когда я обработал указанное выше исключение, я получилеще одно исключение ниже.

Трассировка (последний вызов был последним): файл "C: \ Programs \ Python \ Python37-32 \ lib \ unittest \ case.py", строка 59, в выходной строке testPartExecutorФайл "C: \ Programs \ Python \ Python37-32 \ lib \ unittest \ case.py", строка 615, в запуске testMethod () Файл "C: \ xxxx \ xxxxx \ PycharmProjects \ Automation \ UnitTest_1.py", строка 17, в test_Bing self.driver = webdriver.Chrome (executetable_path = "D: \ test \ chromedriver.exe") Файл "C: \ xxxx \ xxxx \ PycharmProjects \ Automation \ venv \ lib \ site-packages \ selenium \ webdriver \ chrome"\ webdriver.py ", строка 73, в init self.service.start () Файл" C: \ xxxx \ xxxxx \ PycharmProjects \ Automation \ venv \ lib \ site-packages \ selenium \ webdriver \ common\ service.py ", строка 83, в начале os.path.basename (self.path), self.start_error_message) selenium.common.exception.WebDriverException: Сообщение: исполняемый файл chromedriver.exe должен находиться в переменной PATH. См.

https://sites.google.com/a/chromium.org/chromedriver/home

Выполнено 2 теста за 2,337 с

СБОЙ (ошибки = 2) Отслеживание ошибок (последний вызов был последним): файл "C: \ Programs\ Python \ Python37-32 \ lib \ unittest \ case.py ", строка 59, в testPartExecutor выдает файл" C: \ Programs \ Python \ Python37-32 \ lib \ unittest \ case.py ", строка 615, в запуске testMethod() Файл "C: \ Users \ xxx.xxxx \ PycharmProjects \ Automation \ UnitTest_1.py", строка 10, в test_Google self.driver.get ("www.google.com") Файл "C: \ Users \ xx. xxxx \ PycharmProjects \ Automation \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 333, в файле get self.execute (Command.GET, {'url': url}) Файл" C:\ Users \ xx.xxxx \ PycharmProjects \ Automation \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 321, в файле execute self.error_handler.check_response (ответ) (ответ) (" ответ ") Файл" C: \ Users \xx.xxxxx \ PycharmProjects \ Automation \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py ", строка 242, в check_response повысить исключение_класса (сообщение, экран, отслеживание стека) селен.common.exceptions.InvalidArgumentException: Сообщение: недопустимый аргумент (информация о сеансе: chrome = 77.0.3865.90) ​​

Сбой подтверждения

Процесс завершен с кодом завершения 1

Сбой подтверждения

Утверждение не удалось

import os
os.environ["PATH"] += os.pathsep +r"D:\test\chromedriver.exe"
import unittest
from selenium import webdriver

class SearchEnginesTest(unittest.TestCase):
    def test_Google(self):
        self.driver = webdriver.Chrome(executable_path=r"D:\test\chromedriver.exe")
        self.driver.get("www.google.com")
        self.driver.maximize_window()
        # self.driver.save_screenshot("D:\\test\\one.jpg")
        print("Title of the page :  " + self.driver.title)
        self.driver.close()

    def test_Bing(self):
        self.driver = webdriver.Chrome(executable_path="D:\test\chromedriver.exe")
        self.driver.get("www.bing.com")
        self.driver.maximize_window()
        # self.driver.save_screenshot("D:\\test\\two.jpg")
        print("Title of the page:    " + self.driver.title)
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

1 Ответ

0 голосов
/ 30 сентября 2019

Убедитесь, что все пути в вашем коде доступны для os sys.path в python. Кроме того, убедитесь, что сценарии * .py находятся в каталогах, перечисленных в файле списка путей python 'python._pth'. Ознакомьтесь с инструкциями операционной системы по обновлению пути, на большинстве «заблокированных» компьютеров вы все еще можете редактировать «путь пользователя». Другим вариантом является создание сценария 'runner' - сценария os * .bat для Windows или * .sh для оболочки. В скрипте бегуна установите / добавьте os sys.path и динамически добавьте файлы в путь Python, и когда скрипт завершит работу, «добавления» исчезнут обратно в путь только для блокировки. Отправьте билет ITIL о вашем скрипте, чтобы получить одобрение администраторов sys.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...