Multiple instances of appium created. from the console, I run:
node . -p 4722 -UZ*****K --chromedriver-port 9 515 -bp 2251 node . -p 4723 -UT*****K --chromedriver-port 9 516 -bp 2252
Instances are created on both devices, but the URL only opens on the second connected device. The browser on the first device remains open without opening a URL.
The code:
Specflow File:
Test.feature
Scenario: Check Home Page Given I am on home page Then My title should be 'whatever'
Stepss.cs
[Given(@"I am on home page")] public void GivenIAmOnHofHomePage() { var testappium = new TestAppium(); testappium.SetUp(); testappium.OpenHomePage(); }
TestAppium.cs
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 Microsoft.VisualStudio.TestTools.UnitTesting; using TechTalk.SpecFlow; namespace Mobile.Tests.UIAutomation { public class TestAppium { public static IWebDriver driver=null; public void SetUp() { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.SetCapability("device", "Android"); capabilities.SetCapability("browserName", "chrome"); capabilities.SetCapability("deviceName", "test"); capabilities.SetCapability("platformName", "Android"); capabilities.SetCapability("platformVersion", "5.0.1"); capabilities.SetCapability("udid", EnvironmentVariables.nexus); driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4722/wd/hub"), capabilities, TimeSpan.FromSeconds(180)); DesiredCapabilities capabilitiess = new DesiredCapabilities(); capabilitiess.SetCapability("device", "Android"); capabilitiess.SetCapability("browserName", "chrome"); capabilitiess.SetCapability("deviceName", "Arpan Buch"); capabilitiess.SetCapability("platformName", "Android"); capabilitiess.SetCapability("platformVersion", "5.0.2"); capabilitiess.SetCapability("udid", EnvironmentVariables.motog); driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilitiess, TimeSpan.FromSeconds(180)); } public void OpenHomePage() { driver.Navigate().GoToUrl("http://www.google.com"); Console.WriteLine("Page title is : " +driver.Title); Assert.IsTrue(driver.Title.Equals("Google")," Sorry , the website didnt open!!"); } } }
Instances are created on both devices, but the URL only opens on the second connected device. The browser on the first device remains open without opening a URL.
Is the driver instance of the first device overwritten (?). here my programming is limited to be a tester, not a developer. Please help! Thanks in advance!
android selenium-webdriver appium selendroid
Arpan buch
source share