我正在使用selenium和appium在Android手机上实现移动chrome浏览器的自动化。
我已经通过
android chrome浏览器在真实设备上的所有其他测试用例都已成功运行。但是为了上传图片,浏览器正在崩溃。
public class UploadPhotoPage extends TestBase {
// Page Factory Object Repository
@FindBy(id = "file-upload")
WebElement fileUpload;
// Initialising the page object
public UploadPhotoPage() {
PageFactory.initElements(driver, this);
}
// Actions
public void uploadphotos(String imagePath) throws AWTException, InterruptedException {
fileUpload.sendKeys(imagePath);
}
}
这里怎么了?
appium服务器上的错误日志:
[JSONWP Proxy]将“/wd/hub/session/34e405a5-1bad-4711-9e1c-956e2d7391f6/element/0.62728711375717-18/text”匹配到命令名“getText”
[JSONWP Proxy]将[GET/wd/hub/session/34e405a5-1bad-4711-9e1c-956e2d7391f6/element/0.62728711375717-18/text]代理到[GET
http://127.0.0.1:8003/wd/hub/session/adb1415c77099095355e619b36dc5e1e/element/0.6272871137575717-18/text]
正文:{}
[JSONWP Proxy]获得了状态为200的响应:“{\”sessionId\“:\”adb1415c770909555e619b36dc5e1e\“,\”status\“:10,\”value\“:{\”message\“:\”stale element reference:元素未附加到页面文档\n(会话信息:chrome=70.0.3538.64)\n(驱动程序信息:chromedriver=2.42.591088(7b2b2b2dca23cca0862f674758c9a3933e685c27d5),平台=Windows NT 6.1.7601 SP1 x86\U 64)\“}”
[W3C]位于tryCatch(C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:67:40)
[W3C]在GeneratorFunctionPrototype.invoke[作为调用](C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:315:22)
[W3C]在GeneratorFunctionPrototype.prototype.(匿名函数)[as next](C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:100:21)
[W3C]位于GeneratorFunctionPrototype.invoke(C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:136:37)
[MJSONWP]将JSONWP错误代码10与StaleElementReferenceError匹配
[HTTP地址]
[HTTP]-->GET/wd/hub/session/34e405a5-1bad-4711-9e1c-956e2d7391f6/元素/0.62728711375717-18/text
[HTTP]{}
[W3C]驱动程序代理处于活动状态,通过HTTP代理传递请求
http://127.0.0.1:8003/wd/hub/session/adb1415c770909535e619b36dc5e1e/element/0.62728711375717-18/text]
正文:{}
[JSONWP Proxy]获得了状态为200的响应:“{\”sessionId\“:\”adb1415c770909555e619b36dc5e1e\“,\”status\“:10,\”value\“:{\”message\“:\”stale element reference:元素未附加到页面文档\n(会话信息:chrome=70.0.3538.64)\n(驱动程序信息:chromedriver=2.42.591088(7b2b2b2dca23cca0862f674758c9a3933e685c27d5),平台=Windows NT 6.1.7601 SP1 x86\U 64)\“}”
[W3C]在运行命令时遇到内部错误:ProxyRequestError:无法将命令代理到远程服务器。原始错误:对/wd/hub/session/34e405a5-1bad-4711-9e1c-956e2d7391f6/element/0.62728711375717-18/text的请求失败
[W3C]位于JWProxy.proxy$(C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\Appium base driver\lib\jsonwp proxy\proxy.js:182:13)
[W3C]位于tryCatch(C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:67:40)
[W3C]在GeneratorFunctionPrototype.prototype.(匿名函数)[as next](C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:100:21)
[W3C]位于GeneratorFunctionPrototype.invoke(C:\Users\chints\AppData\Local\Programs\Appium\resources\app\node\u modules\Appium\node\u modules\babel runtime\regenerator\runtime.js:136:37)
[W3C]在
[MJSONWP]将JSONWP错误代码10与StaleElementReferenceError匹配
以下是我设置的功能
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("deviceName", "ONEPLUS A5010");
capabilities.setCapability("platformVersion", "8.1.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("browserName", "Chrome");
capabilities.setCapability("deviceId", "XXX.XX.XX.XXX:5555");
capabilities.setCapability("autoGrantPermissions", true);