• Как реализовать проверку TestResult'а в юнит-тестах?

    @Cunctator Автор вопроса
    Начинающий программист.
    Нашел решение с помощью свойства TestContext.CurrentTestOutcome.

    [TestClass]
    public class UnitTest
    {
        private TestContext TestContext { get; set; }
    
        [TestCleanup]
        public void TestCleanup()
        {
            if (TestContext.CurrentTestOutcome == UnitTestOutcome.Passed)
                //do something
        } 
    
        [TestMethod]
        public void TestMethod()
        {
        }
    }
    Ответ написан
    Комментировать
  • Как реализовать таймаут на C#?

    @Cunctator Автор вопроса
    Начинающий программист.
    Нашел решение через запуск асинхронной операции и установки интервала выполнения функции с помощью свойства CruciatusFactory.Settings.SearchTimeout

    using System;
    using System.Threading.Tasks;
    using Winium.Cruciatus.Core;
    using Winium.Cruciatus.Elements;
    using Winium.Cruciatus;
    
    
    static class IfExistsClass
    {
        public static CruciatusElement GetIfExists(By element, CruciatusElement root, double timeout = 90000)
    
        {
    
            var StartDateTime = DateTime.Now;
    
            CruciatusFactory.Settings.SearchTimeout = (int)timeout;
    
            while ((DateTime.Now - StartDateTime).TotalMilliseconds < timeout) ;
    
            {
                var FindElement = Task<CruciatusElement>.Run(() =>
    
    
                {
                    var elementFound = root.FindElement(element);
                    return elementFound;
    
    
                });
    
                if (FindElement.Wait(TimeSpan.FromMilliseconds(30000)))
                    return FindElement.Result;
    
                else
    
                    Console.WriteLine("Timeout поиска элемента");
    
    
            }
    
            return null;
    
        }
    }
    Ответ написан
    Комментировать
  • Возможно ли найти абсолютный путь XPath к элементам десктопного приложения?

    @Cunctator Автор вопроса
    Начинающий программист.
    Спасибо за внимание! Остановился на решении прописывать абсолютно/относительный путь, например: *
    [@ClassName = 'Window' and @Name = 'Быстрый поиск услуг']/*[@ClassName = 'TextBox' and @LocalizedControoType = 'поле']
    и т.д.
    Ответ написан
    Комментировать