невозможно загружать файлы с моего локального компьютера на мобильные реальные устройства с локальными тестами в браузере

Я использую Browserstack для тестирования веб-приложения, размещенного на моем локальном компьютере (Windows 10). Я написал тесты с использованием Mocha и selenium-webdriver.

Мне нужно протестировать fileUpload, выбрав файл из моей локальной среды. Просматривая документацию Browserstack, я думаю, что нашел, что должно быть решением, и оно работает как с конфигурациями Windows, так и с Mac OS.

Прежде всего я использую FileDetector

driver.setFileDetector(new remote.FileDetector);

Затем я использую sendKeys () для fileInput WebElement

fileInput.sendKeys(imageFilePath);

Вместо этого, когда я запускаю тестовый сеанс на реальном устройстве iOS (iOS 13 - iPhone 8.0), я получаю:

WebDriverError: Appium error: File upload is not supported on real iOS devices
    at Object.checkLegacyResponse (node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (node_modules/selenium-webdriver/lib/http.js:441:30)
    at process._tickCallback (internal/process/next_tick.js:68:7)
From: Task: remote.FileDetector.handleFile(/home/admin/BuildAgent/work/491c0dc9a984bb27/test/resources/images/imageUploader/partImage02.jpg)
    at WebDriver.schedule (node_modules/selenium-webdriver/lib/webdriver.js:807:17)
    at zip.addFile.then.then.then.encodedZip (node_modules/selenium-webdriver/remote/index.js:586:27)
From: Task: WebElement.sendKeys()
    at WebElement.sendKeys (node_modules/selenium-webdriver/lib/webdriver.js:2185:43)
    at [...]

и на реальном устройстве Android (например, Android Pixel 4 - браузер по умолчанию):

UnsupportedOperationError: The URL '/wd/hub/session/45359c9c6c467dd8f00f6c1a638c993fe933bf67/file' did not map to a valid resource
    at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:534:11)
    at doSend.then.response (node_modules/selenium-webdriver/lib/http.js:441:30)
    at process._tickCallback (internal/process/next_tick.js:68:7)
From: Task: remote.FileDetector.handleFile(/home/admin/BuildAgent/work/491c0dc9a984bb27/test/resources/images/imageUploader/partImage02.jpg)
    at WebDriver.schedule (node_modules/selenium-webdriver/lib/webdriver.js:807:17)
    at zip.addFile.then.then.then.encodedZip (node_modules/selenium-webdriver/remote/index.js:586:27)
From: Task: WebElement.sendKeys()
    at WebElement.sendKeys (node_modules/selenium-webdriver/lib/webdriver.js:2185:43)
    at [...]

Должен ли я предполагать, что загрузка файлов с локального компьютера не поддерживается на реальных устройствах Android, а также на iOS с использованием этих инструментов (Browserstack, selenium-webdriver)?

Спасибо


person Francesco De Mitri    schedule 16.04.2020    source источник


Ответы (1)