mercredi 6 juin 2018

C# appium 1.8 parallel run

Im want to run in parallel one test on 2 android emulators. Im trying to bind my C# code with Json config file to run it in Appium 1.8. It`s my code:

C#:

namespace Appium_Test_Project
{
    [TestFixture]
    [Parallelizable]
    public class TestSokrat
    {
        AppiumDriver<AppiumWebElement> driver;
        WebDriverWait wait;

        public TestSokrat()
        {
            driver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), SetDevice("Pixel2", "Nexus 5X")); //"Nexus9", "5.1.1"//"Nexu", "8.1.0" //"Nexus 5X", "8.0.0" // "Galaxy A5", "7.0" //"mini3.3", "7.0"
            wait = new WebDriverWait(driver, TimeSpan.FromSeconds(15));
        }

        [Test]
        public void TC01_Registration()
        {

            ClickByXPath("//android.widget.LinearLayout/android.support.v7.app.ActionBar.Tab[2]/android.widget.TextView"); //кнопка Регистрация
            SendKeysById("ru.fuse8.socrat:id/editSurname", "Sokratov"); //поле Фамилия  
            SendKeysById("ru.fuse8.socrat:id/editName", "Sokrat"); //поле Имя

            driver.Quit();
        }

        public DesiredCapabilities SetDevice(string name, string name2)//, string version)
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("autoGrantPermissions", true);
            capabilities.SetCapability("unicodeKeyboard", true);
            capabilities.SetCapability("resetKeyboard", true);
            capabilities.SetCapability("deviceName", name);
            capabilities.SetCapability("deviceName", name2);

            //capabilities.SetCapability("platformVersion", version);

            capabilities.SetCapability("udid", "emulator-5554");
            capabilities.SetCapability("udid", "emulator-5556");

            capabilities.SetCapability("systemPort", "8100");
            capabilities.SetCapability("systemPort", "8101");

            capabilities.SetCapability("appPackage", "ru.fuse8.socrat");
            capabilities.SetCapability("appActivity", "ru.fuse8.socrat.ui.login.LoginActivity");
            return capabilities;
        }
}

My Json: enter image description here

Problem: test starting only in one last device. I think that some problem in configuration file and probably in test attributes.

Appium settings:

enter image description here

Aucun commentaire:

Enregistrer un commentaire