无法创建新的远程会话,appium iOS

时间:2017-01-26 16:39:53

标签: eclipse selenium-webdriver appium appium-ios

我试图使用Eclipse自动化一些测试,并且我每次尝试运行测试时都会收到此错误。我不知道是什么原因造成的。

public class TestRecipes {

public WebDriver driver = null;

@BeforeMethod
public void setUp() throws Exception {
 // set up appium
 File appDir = new File("/Users/sherrera/Library/Developer/Xcode/DerivedData/Recipes-eicbqyhvmctjqxdnflxakqnvdujl/Build/Products/Debug-iphonesimulator");
 File app = new File(appDir, "Recipes.app");
 DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
 capabilities.setCapability(CapabilityType.VERSION, "6.1");
 capabilities.setCapability(CapabilityType.PLATFORM, "Mac");

 capabilities.setCapability("app", app.getAbsolutePath());
 driver = new RemoteWebDriver(new URL("http://127.0.0.1:4725/wd/hub"), capabilities);
}

@AfterMethod
public void tearDown() throws Exception {
 driver.quit();
}


@Test
public void testAddRecipes() throws InterruptedException {

 String recipeName = "Pizza";
 String recipeDescription = "My lovable dish";
 String preparationTime = "1 hour";

 driver.findElement(By.name("Add")).click();
 driver.findElement(By.xpath("//textfield[1]")).sendKeys(recipeName);
 driver.findElement(By.name("Save")).click();

 driver.findElement(By.name("Edit")).click();

 driver.findElement(By.xpath("//tableview[1]/textfield[2]")).sendKeys(recipeDescription);
 driver.findElement(By.xpath("//tableview[1]/textfield[3]")).sendKeys(preparationTime);

 driver.findElement(By.name("choosePhoto")).click();
 driver.findElement(By.xpath("//tableview[1]/cell[1]/text[1]")).click();
 driver.findElement(By.xpath("//tableview[1]/cell[1]/image[1]")).click();
 driver.findElement(By.name("Done")).click();

 driver.findElement(By.xpath("//navigationBar[1]/button[1]")).click();

                // Verify the presence of added recipe.
 List<WebElement> recipesDetails = driver.findElements(By.xpath("//tableview[1]/cell"));
 //System.out.println("No. of Recipes: "+recipesDetails.size());
 boolean result = false;
 for(WebElement recipeDetails : recipesDetails) {
  //System.out.println("details: "+recipeDetails.getAttribute("name"));
  if(recipeDetails.getAttribute("name").equals(recipeDescription+", "+preparationTime+", "+recipeName)) {
   result = true;
  }
 }
 Assert.assertTrue(result, "Recipe is not present");
}

}

这是eclipse显示的错误,似乎它甚至没有开始测试。

FAILED CONFIGURATION: @BeforeMethod setUp
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{app=/Users/sherrera/Library/Developer/Xcode/DerivedData/Recipes-eicbqyhvmctjqxdnflxakqnvdujl/Build/Products/Debug-iphonesimulator/Recipes.app, browserName=iOS, version=6.1, device=iPhone Simulator, platform=Mac 10.11.6}], required capabilities = Capabilities [{}]
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 09:43:45 -0700'
System info: host: 'AUY-LT-058.local', ip: '192.168.58.45', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_60'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
    at com.recipes.app.TestRecipes.setUp(TestRecipes.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:217)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
    at org.testng.SuiteRunner.run(SuiteRunner.java:289)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
    at org.testng.TestNG.runSuites(TestNG.java:1133)
    at org.testng.TestNG.run(TestNG.java:1104)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

SKIPPED CONFIGURATION: @AfterMethod tearDown
SKIPPED: testAddRecipes
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{app=/Users/sherrera/Library/Developer/Xcode/DerivedData/Recipes-eicbqyhvmctjqxdnflxakqnvdujl/Build/Products/Debug-iphonesimulator/Recipes.app, browserName=iOS, version=6.1, device=iPhone Simulator, platform=Mac 10.11.6}], required capabilities = Capabilities [{}]
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 09:43:45 -0700'
System info: host: 'AUY-LT-058.local', ip: '192.168.58.45', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_60'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155)
    at com.recipes.app.TestRecipes.setUp(TestRecipes.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:217)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
    at org.testng.SuiteRunner.run(SuiteRunner.java:289)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
    at org.testng.TestNG.runSuites(TestNG.java:1133)
    at org.testng.TestNG.run(TestNG.java:1104)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

提前感谢您提供任何帮助

0 个答案:

没有答案