예제 #1
0
        /// <summary>
        /// Нажатие на кнопку запуска тестов
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bDo_Click(object sender, EventArgs e)
        {
            var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
            var threads        = new List <Thread>();

            //Отключаем перехват вызовов в ошибочном потоке
            //ToDo: сделать нормальную многопоточность для записи в лог на форме.
            Control.CheckForIllegalCrossThreadCalls = false;
            //проверка всех урлов сайта
            string address = null;

            if (tcMain.SelectedTab == tcMain.TabPages["tpVarious"] && cbCheckAllSite.Checked)
            {
                if (tbCheckUrlsUrlToCheck.Text != "")
                {
                    string[] siteList = tbCheckUrlsUrlToCheck.Text.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
                    for (int siteID = 0; siteID < siteList.Length; siteID++)
                    {
                        address = siteList[siteID];
                        threads.Add(new Thread(() => CheckUrls.Run(address.Trim())));
                    }
                }
                else
                {
                    Log.MesError("Введите урл для проверки");
                }
            }

            //проверка всех компонентов установки
            if (tcMain.SelectedTab == tcMain.TabPages["tpComponents"] && cbCheckAllComponents.Checked)
            {
                threads.Add(new Thread(() => ComponentsTest.Run("BB", "mysql")));
            }

            #region БУС
            //Для каждого из отмеченных тестов добавляем поток в пул потоков
            if (tcMain.SelectedTab == tcMain.TabPages["tpBUS"])
            {
                if (cbMainTest.Checked)
                {
                    threads.Add(new Thread(() => Case_Main_Run.Run()));
                }
                if (cbSaleTest.Checked)
                {
                    threads.Add(new Thread(() => Case_Sale_Run.Run()));
                }
            }
            #endregion
            //Запускаем потоки из пула
            foreach (var thread in threads)
            {
                thread.Start();
                thread.Join();
            }
            //Завершаем тест и закрываем браузер и связанные с ним сущности
            BitrixFramework.WebDriver.Quit();
        }
예제 #2
0
        /// <summary>
        /// Нажатие на кнопку запуска тестов
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bDo_Click(object sender, EventArgs e)
        {
            var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
            var threads        = new List <Thread>();

            Control.CheckForIllegalCrossThreadCalls = false;
            //проверка всех урлов сайта
            string address = null;

            if (tcMain.SelectedTab == tcMain.TabPages["tpVarious"] && cbCheckAllSite.Checked)
            {
                if (tbCheckUrlsUrlToCheck.Text != "")
                {
                    string[] siteList = tbCheckUrlsUrlToCheck.Text.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
                    for (int siteID = 0; siteID < siteList.Length; siteID++)
                    {
                        address = siteList[siteID];
                        threads.Add(new Thread(() => CheckUrls.Run(address.Trim())));
                    }
                }
                else
                {
                    Log.MesError("Введите урл для проверки");
                }
            }

            //проверка всех компонентов установки
            if (tcMain.SelectedTab == tcMain.TabPages["tpComponents"] && cbCheckAllComponents.Checked)
            {
                threads.Add(new Thread(() => ComponentsTest.Run("BB", "mysql")));
            }

            #region БУС
            if (tcMain.SelectedTab == tcMain.TabPages["tpBUS"])
            {
                if (cbMainTest.Checked)
                {
                    threads.Add(new Thread(() => Case_Main_Run.Run()));
                }
                if (cbSaleTest.Checked)
                {
                    threads.Add(new Thread(() => Case_Sale_Run.Run()));
                }
            }
            #endregion
            foreach (var thread in threads)
            {
                thread.Start();
                thread.Join();
            }
        }