Как предотвратить сбои при параллельном запуске тестов и переключении фреймов?

Когда у меня есть объект с пробелами в имени свойства, я могу использовать деструктурирование объекта или нет?

Да, вы можете использовать деструктурирование, но вы всегда можете назначать только идентификаторы (имена переменных). Поскольку они не позволяют пробелы, вы не можете использовать синтаксис коротких строк, где имя и идентификатор свойства одинаковы.

Было бы неплохо, если бы я мог назначить переменную с каким-то синтаксисом типа " as ':

var {'my name' as name, age} = obj2;

as предназначен для импорта / экспорта модулей. Для обычных объектов - как литералов, так и деструктурирования - вы используете двоеточие ::

var {'my name': name, age} = obj2;
0
задан Dayan54 28 March 2019 в 12:06
поделиться

1 ответ

@ Dayan54 - Пожалуйста, посмотрите на ниже. Я запускаю 4-6 потоков в SpecFlow, и у меня есть iFrames без проблем. Может быть, это поможет.

Также я видел это, поэтому я должен спросить. в некоторых iFrames, например, для входа в социальные сети для FaceBook или InstaGram, при входе он автоматически закрывает iFrame. Это затем выдаст ошибку на все, что вы делаете, потому что, если вы попытаетесь закрыть его, вы получите ошибку, так как она уже закрыта. Переключиться на основной контент не удастся, потому что вы уже там. Для этого я написал метод "GoToMainHandle".

 //switch to the iframe name -

 public static void SwitchToIframe(string frameName)
    {
        try
        {
            Driver.SwitchTo().Frame(frameName);
        }
        catch (NoSuchFrameException)
        {
            try
            {
                Driver.SwitchTo().Frame(frameName);
            }
            catch (NoSuchFrameException)
            {
                Console.WriteLine("Could not switch to IFrame");
                throw;
            }
        }
    }


   //going back to main content when completed with iframe 


    public static void SwitchToMainContent()
    {
        Driver.SwitchTo().DefaultContent();
    }



   //If the iframe closes automatically, you still need to get back to the main window

         public static void GoToMainHandle()
    {
        var handles = Driver.WindowHandles;
        foreach (var handle in handles)
        {
            Driver.SwitchTo().Window(handle);
            break;
        }
    }
0
ответ дан Dazed 28 March 2019 в 12:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: