为什么当所需功能使用变量时,appium投掷错误

时间:2019-07-19 17:52:48

标签: android node.js appium

我正在尝试编写一种自动化的测试来记录完成后的测试结果,并且我需要记录设备名称和完成后的结果。

当我将所需功能的设备名称值设置为变量时,一切似乎都可以预期。

let desiredCaps = {
        platformName: 'Android',
        platformVersion: '9',
        deviceName: Name,
        app: Apk,
        fullReset: false,
        automationName: "UiAutomator2"
    };

我已经通过将值更改为静态值进行了测试:

let desiredCaps = {
        platformName: 'Android',
        platformVersion: '9',
        deviceName: 'testDevice1',
        app: Apk,
        fullReset: false,
        automationName: 'UiAutomator2'
    };

它工作正常,没有任何问题。

const Set_Desired_Device_Capabilities = async function Set_Desired_Device_Capabilities(Port, Name, Apk) {
    let driver = await wd.promiseChainRemote({
        host: '127.0.0.1',
        port: Port
    });
    let desiredCaps = {
        platformName: 'Android',
        platformVersion: '9',
        deviceName: Name,
        app: Apk,
        fullReset: false,
        automationName: 'UiAutomator2'
    };

    console.log(desiredCaps);
    await driver.init(desiredCaps);
    await driver.setImplicitWaitTimeout(30000);

};


module.exports = Set_Desired_Device_Capabilities;

使用上面的代码,我最终遇到此错误:

init(
     {
       "platformName":"Android",
       "platformVersion":"9",
       "deviceName":"testDevice1",
       "app":"/Users/username/Downloads/test.apk",
       "fullReset":false,
       "automationName":"UiAutomator2"
     }
  )
] Parse Error

是否有解决此问题的方法或将设备名称作为变量传递的更好方法?

1 个答案:

答案 0 :(得分:0)

发现问题:

问题出在我导出函数中的异步作业上。