Я могу подключиться к реальному мобильному устройству, используя сеанс appium-dekstop, который подключен к службе appium, работающей над внутренним проектом на localhost: 8080. Я использую точно такой же код, который используется в appium-dektop, в проекте внешнего интерфейса, который будет использоваться в браузере. Однако это не сработало, и я не знаю почему. Желаемые возможности, типы и содержимое параметров совпадают с теми, которые используются в appium-desktop. Вот код:
// desired capabilities are identical with ones used in appium-desktop
let desiredCapabilities = {
platformName: 'android',
platformVersion: '6.0.1',
deviceName: '....',
udid: '....',
appPackage: '....',
appActivity: ....',
newCommandTimeout: 0,
connectHardwareKeyboard: true,
wdNoDefaults: true,
};
let host = "127.0.0.1";
let port = "8080";
let path = "";
let username, accessKey; // undefined
let https = false;
let rejectUnauthorized = false;
let proxy = "http://...:...@localhost:8080/wd/hub";
// all parameters and their types are identical with ones used in appium-desktop
let driver = wd.promiseChainRemote({
hostname: host,
port,
path,
username,
accessKey,
https,
});
driver.configureHttp({rejectUnauthorized, proxy});
driver.init(desiredCapabilities).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
Ошибка заключается в следующем: Необработанный отказ (TypeError): self._qs.unescape не является функцией
Это дает ошибка в "driver.init (требуемые возможности)".
Обратите внимание, что внутренняя сторона проекта активно работает на localhost: 8080. Заранее спасибо.