获取错误“xargs”不被识别为内部或外部命令。 通过Windows运行iOS的appiumtesting

当我运行下面的代码的Appiumtesting

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:无法创build新的会话。 (原始错误:命令失败:'xargs'不被识别为内部或外部命令,可操作程序或batch file。)(33)

当我更改各自的参数时,相同的代码对于Android手机来说是完美的,但它不适用于iOS。

您不能在Windows上使用Appium自动化iOS设备,因为您需要XCode,XCode不能用于Windows,而只能用于MAC。

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

Appium的限制

Appium是一个很好的工具,但它有一些限制,它取决于自动化引擎。 所以在这里:

  • 如果您在Windows上运行Appium,则只能自动执行Android应用程序。

  • 如果您在Mac上运行Appium,则可以自动执行Android和iOS应用程序。

更详细的解释可以在这篇文章中find。 有一个表格描述了我刚刚在文章正文的中心部分所说的内容。