【问题标题】:How can i change appium configuration when it is installed by npm?通过 npm 安装 appium 时如何更改它的配置?
【发布时间】:2016-08-15 20:25:30
【问题描述】:

我在Mac OS 中使用Appium version 1.5.1。 我想在通过 npm 命令 (npm install -g appium) 而不是 .dmg 应用程序安装 appium 时更改它的配置。 有没有办法改变它,比如改变设备名称、命令超时、平台版本......? 谢谢。

【问题讨论】:

  • npm 或 .dmg 安装有区别吗?
  • 是的,在我的情况下,我只想使用 appium npm,所以有区别(在 npm 模式下找不到我在 dmg 中所做的整个配置)

标签: npm appium npm-install appium-ios


【解决方案1】:

在 1.4.13 中,如果你使用 dmg 路径是

/Applications/Appium.app/Contents/resources

但是使用node安装1.5.1后,路径是

/usr/local/lib/node_modules/appium/

我还使用 node 安装了 1.5.1,我之前也使用 dmg 安装了 1.4.13。就我而言,问题是

capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "iOS");

我刚刚在使用命令运行 1.5.1 时评论了此功能

appium

我用1.4.13的inspector来检查(不启动appium 1.4.13),直接点inspector就好了。

当我在 1.5.1 版中通过命令行运行我的 java 代码时,我也更改了这两行

CommandLine command = new CommandLine("/usr/local/bin/node");
command.addArgument("/usr/local/lib/node_modules/appium/build/lib/main.js", false);

在 1.5.1 中,而不是

driver.findElementByname(), use driver.findElementByAccessibilityId().

但是,我将 appium ios 功能设置如下

DesiredCapabilities capabilities = new DesiredCapabilities();

    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.2");
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPad 2");

    capabilities.setCapability(MobileCapabilityType.VERSION, "7.2");
    capabilities.setCapability(MobileCapabilityType.PLATFORM,"Mac");
    capabilities.setCapability("platformName", "iOS");

    capabilities.setCapability("sendKeyStrategy","setValue");
    capabilities.setCapability("--no-reset", false);

driver = new IOSDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

【讨论】:

  • 感谢您的回答,实际上我没有使用 java,而是将它与量角器一起使用,否则我无法进行一般配置,我应该始终在我的 config.js 文件中进行配置?
  • 我正在用 safari 测试一个 url,事实上,当我启动 appium 时,该 url 在 ipad 模拟器的 safari 中打开,而不是什么都没有发生,所以我想验证我是否我做正确的配置!收到的套接字数据从仪器得到结果 {status : 0, "value":false } no alert found
  • 随着 url 打开,所以我认为 appium 在 1.5.1 中运行正常。实际上,当你启动 appium 时,它会在控制台中显示 appium 版本 ******* 正在启动的 ua 消息...首先检查你使用 1.5.1,而不是在你的代码中检查你没有使用 driver.findElementByname()方法.....最好只是调试....问题出在您的代码中.... :)
  • 问题是我的代码很好,我什至删除了所有定位元素的代码,只是通过 browser.get() 打开站点...,然后测试没有通过!
【解决方案2】:

最后我通过这种方式更改了appium的默认配置:

appium --default-capabilities '{"app":"safari","browserName":"safari","appium-version":"1.5.1","platformName":"iOS","platformVersion":"9.3","deviceName": "iPad Air","nativeInstrumentsLib":true}' --command-timeout "0" --pre-launch --nodeconfig "/Users/me/nodeconfig.json" --launch-timeout "180000"

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 1970-01-01
    • 2016-02-22
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多