获取错误 'xargs' 未被识别为内部或外部命令。 运行 appium 测试 iOS 到 Windows

Getting error 'xargs' is not recognized as an internal or external command. While running appium test for iOS through Windows

当我 运行 Appium 测试以下代码时

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Interfaces;
using OpenQA.Selenium.Appium.MultiTouch;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Appium.Android;
using OpenQA.Selenium.Appium.iOS;
using NUnit.Framework;

namespace Hof.Mobile.Tests.UIAutomation
{

    [TestFixture()]
    public class TestAppium
    {
        public static IWebDriver driver = null;

        [TestFixtureSetUp]
        public void SetUp()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();

            capabilities.SetCapability("browserName", "Safari");
            capabilities.SetCapability("deviceName", "iOS");
            capabilities.SetCapability("platformName", "ios");
            capabilities.SetCapability("udid", "<<my udid >>");

             driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities, TimeSpan.FromSeconds(180));
        }  

        public void OpenHomePage()
        {
            driver.Navigate().GoToUrl("http://url");
            Console.WriteLine("Page title is : " +driver.Title);
            //Assert.IsTrue(driver.Title.Equals("test")," Sorry , the website didnt open!!");
        }

        public void AssertTitle(string title)
        {

            Assert.IsTrue(driver.Title.Equals(title),"Title doesn't match!!");
        }



        [TearDown]
        public void End()
        {
            driver.Dispose();
        }
    }
}

将我的 iPad 设备连接到 Windows 时,出现此错误:

System.InvalidOperationException : A new session could not be created. (Original error: Command failed: 'xargs' is not recognized as an internal or external command, operable program or batch file.) (33)

当我更改相应的参数时,相同的代码 运行 非常适合 Android 手机,但它不适用于 iOS。

您无法在 Windows 上使用 Appium 自动化 iOS 设备,因为您需要 XCode 并且 XCode 不用于 Windows,而仅用于 MAC.

所以基本上,如果您想自动化 iPad 或 iPhone,您需要 运行 Appium on Mac。

Appium 的局限性

Appium 是一个很棒的工具,但它有一些局限性并且它依赖于自动化引擎。所以在这里:

  • 如果您在 Windows 上 运行 Appium,您可以 Android 个应用程序自动化。

  • 如果您 运行 Appium on Mac,您可以自动化 both Android 和 iOS应用程序。

更详细的解释可以在我的this article中找到。在正文的中间部分有一个table描述了我刚刚告诉你的内容。