无法通过浏览器本地测试在移动真实设备上从本地计算机上载文件

问题描述 投票:1回答:1

我正在使用Browserstack在本地计算机(Windows 10)上托管的Web应用上执行一些测试。我已经使用Mocha和selenium-webdriver编写了测试。

我需要测试fileUpload,从本地环境中选择一个文件。浏览Browserstack文档我想我已经找到了应该的解决方案,并且可以在Windows和Mac OS配置下使用。

首先我正在使用FileDetector

driver.setFileDetector(new remote.FileDetector);

然后我在fileInput WebElement上使用sendKeys()

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 [...]

我应该假设使用这些工具(Browserstack,selenium-webdriver)在Android real设备和iOS上均不支持从本地计算机上载文件?

谢谢

selenium-webdriver appium browserstack
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.