Я использую Atlassian Jira в качестве инструмента отслеживания изменений. Я должен ввести несколько полей вручную и решил автоматизировать. Чтобы автоматизировать процесс создания проблемы Jira, я решил использовать Selenium с Firefox 60.0.
Когда я выполняю скрипт Selenium, он успешно открывает диалог создания вопроса, заполняет поля, которые можно автоматизировать. Затем сценарий останавливается, потому что есть поля сводки и описания, которые пользователь должен ввести вручную.
Я не вызываю webdriver.quit (), потому что я хочу, чтобы пользователь продолжил процесс создания. Однако, когда сценарий завершается, соединение с сервером Jira закрывается (я понимаю это, нажимая другие кнопки, и появляется предупреждение о том, что сервер Jira может быть недоступен и т. Д.), И кнопка «создать-отправить-отправить» перестает отвечать, даже если я заполняю все обязательные поля .
Если я автоматизирую нажатие кнопки «создать-отправить-отправить» с предварительным заполнением обязательных полей текстом заполнителя, это создает проблему без проблем. Но вы должны понимать, что я никогда не позволю пользователю автоматически создавать проблемы, по своему усмотрению Я просто хочу заполнить пустые поля, выбрать опции в диалоговом окне создания вопроса и оставить остальное пользователю.
Я не вижу этой проблемы с Internet Explorer 11.0 (после завершения сценария я могу нажать кнопку «создать-отправить-отправить», и он создает), но его веб-драйвер глючит, весь сценарий завершается за 30 секунд, застревает в другой части каждый раз.
Я считаю, что причина в том, что компания использует сертификат Jira, который не был признан. Я не веб-разработчик, но я получаю ошибку SEC_UNKNOWN_ISSUER в Firefox, я считаю, что Firefox более строг, чем IE 11. Я думаю, что у Selenium есть механизмы для обхода мер безопасности Firefox, но как только сценарий завершается, я попадаю под действие Firefox, и это разрывает мое соединение с сервером Jira Несмотря на это, я добавил кусок кода, чтобы доверять неизвестным сертификатам. Вот код ниже;
binary = FirefoxBinary(<binary_path>)
profile = FirefoxProfile()
profile.accept_untrusted_certs = True
driver = Firefox(firefox_binary=binary, firefox_profile=profile)
fill_some_fields()
select_some_options()
Мой обходной путь для этой проблемы - добавление sleep (100) перед выходом из скрипта. Если пользователь нажимает кнопку «создать-отправить-отправить» в течение 100 секунд, это создает проблему. Если нет, сценарий завершается, и соединение Jira теряется. Но мне нужно лучшее решение, поскольку пользователю может потребоваться больше 100 или любая произвольная задержка.