Я написал несколько тестов на селен, которые запускались и проходили локально. Я написал их для Windows / Chrome. В какой-то момент мое приложение открывает локальный файловый менеджер для загрузки файла. Для взаимодействия с этим я использовал AutoIt, который решил мою проблему. Однако сейчас я перемещаю свои тесты в сетку (через lambdatest) и тестирую как Windows, так и Ma c. AutoIt работает только на Windows, и из коробки он работает только локально. Я знаю, что были предложены некоторые решения для удаленного использования AutoIt, но это не помогает мне с ОС Ma c.
Есть ли общее решение, как приблизиться к взаимодействию с удаленной машиной во время теста на селен ?
Любая помощь приветствуется. Я не уверен, как к этому подойти.
РЕДАКТИРОВАТЬ: После просмотра множества решений по этому поводу, ниже показано то, что я пытался, но время теста истекло, потому что он не может найти входной файл. Я знаю, что должен быть какой-то способ сделать это. Люди, тестирующие приложения на MacOS, не могут использовать AutoIT, каково же решение?
# upload photo
photo_upload_element = wait1.until(
EC.visibility_of_element_located((By.CLASS_NAME, 'reply-field__button--cam'))).click()
time.sleep(2)
file_input = self.driver1.find_element_by_css_selector("input[type='file']")
time.sleep(2)
file_input.send_keys(DIR_PATH + r"\path\to\local\photo.jpg")
time.sleep(2)
file_input.send_keys(Keys.RETURN)
time.sleep(2)
wait1.until(
EC.visibility_of_element_located((By.CLASS_NAME, 'buttons-grid__button'))).click()
time.sleep(2)
Вот html на странице для ввода:
<template>
<input
class="fileselect"
v-on:change="handleFileSelect"
ref="fileinput"
id="cam"
type="file"
accept="image/*"
:capture="camera"
data-testid="fileselect"
/>
</template>
Может ли кто-нибудь предложить решение? введите описание изображения здесь