Example #1
0
        /// <summary>
        /// Converts a test step title/expected result from html to plain text.
        /// </summary>
        /// <param name="value">The value produced by the binding source.</param>
        /// <param name="targetType">The type of the binding target property.</param>
        /// <param name="parameter">The converter parameter to use.</param>
        /// <param name="culture">The culture to use in the converter.</param>
        /// <returns>
        /// A converted value. If the method returns null, the valid null value is used.
        /// </returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            ParameterizedString currentTestStepProperty = value as ParameterizedString;
            string propertyPlainText = currentTestStepProperty.ToPlainText();

            return(propertyPlainText);
        }
Example #2
0
        /// <summary>
        /// Replaces all parameters in a parameterized text.
        /// </summary>
        /// <param name="parameterizedText">The parameterized text.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns>Text where all parameter references have been replaced with expected values</returns>
        private static string ReplaceParameters(ParameterizedString parameterizedText, TestResultParameterCollection parameters)
        {
            if (parameters.Count > 0)
            {
                SyncServiceTrace.D(Resources.ReplacingParameters, parameterizedText, string.Join(",", parameters.Select(x => x.Name + "=" + x.ExpectedValue)));
                foreach (var parameter in parameters)
                {
                    var oldParameterizedText = parameterizedText.ToPlainText();
                    parameterizedText = parameterizedText.ReplaceParameter(parameter.Name, parameter.ExpectedValue);

                    // I don't know why this fails sometimes, maybe because of special characters in the string like "foo: @paramter"
                    if (parameterizedText.ToPlainText().Equals(oldParameterizedText) && parameterizedText.ParameterNames.Contains(parameter.Name))
                    {
                        // manually replace parameter
                        SyncServiceTrace.W(Resources.ParameterizedStringFailed, parameter.Name, parameterizedText.ToPlainText(), parameter.ExpectedValue);
                        parameterizedText = new ParameterizedString(parameterizedText.ToPlainText().Replace("@" + parameter.Name, parameter.ExpectedValue));
                    }
                }
            }
            return(parameterizedText.ToPlainText());
        }
Example #3
0
        /// <summary>
        /// Создать нумерованный многоуровневый список Word
        /// </summary>
        public void CreateMultiLevelList(Word.Paragraph paragraph, Word.ListTemplate listTemplate, List <ITestCase> testCase, int Index)
        {
            // Добавить название тест кейса на первый уровень нумерованного многоуровневого списка
            paragraph.Range.Text = testCase.ElementAt(Index).Title;
            paragraph.Range.SetListLevel(1);
            paragraph.Range.ListFormat.ApplyListTemplateWithLevel(listTemplate, ContinuePreviousList: true, ApplyTo: WdListApplyTo.wdListApplyToSelection, DefaultListBehavior: WdDefaultListBehavior.wdWord10ListBehavior, ApplyLevel: 1);
            paragraph.Range.InsertParagraphAfter();

            // Если в тест кейсе нет Actions
            if (testCase.ElementAt(Index).Actions.Count == 0)
            {
                paragraph.Range.Text = "Тест кейс пуст!";
                paragraph.Range.SetListLevel(2);
                paragraph.Range.ListFormat.ApplyListTemplateWithLevel(listTemplate, ContinuePreviousList: true, ApplyTo: WdListApplyTo.wdListApplyToSelection, DefaultListBehavior: WdDefaultListBehavior.wdWord10ListBehavior, ApplyLevel: 2);
                paragraph.Range.InsertParagraphAfter();
            }

            ISharedStep          sharedStep          = null;
            ISharedStepReference sharedStepReference = null;

            for (int i = 0; i < testCase.ElementAt(Index).Actions.Count; i++)
            {
                sharedStepReference = testCase.ElementAt(Index).Actions.ElementAt(i) as ISharedStepReference;

                // Добавить общий шаг
                if (sharedStepReference != null)
                {
                    // Добавить текст общего шага на второй уровень нумерованного многоуровневого списка
                    sharedStep           = sharedStepReference.FindSharedStep();
                    paragraph.Range.Text = sharedStep.Title + "\t(ОБЩИЙ ШАГ)";
                    paragraph.Range.SetListLevel(2);
                    paragraph.Range.ListFormat.ApplyListTemplateWithLevel(listTemplate, ContinuePreviousList: true, ApplyTo: WdListApplyTo.wdListApplyToSelection, DefaultListBehavior: WdDefaultListBehavior.wdWord10ListBehavior, ApplyLevel: 2);
                    paragraph.Range.InsertParagraphAfter();
                }
                else
                {
                    ParameterizedString parametrizedString = new ParameterizedString(((ITestStep)testCase.ElementAt(Index).Actions[i]).Title.ToPlainText());

                    // Добавить текст Action на второй уровень нумерованного многоуровневого списка
                    paragraph.Range.Text = get_ActionWithParameters(testCase.ElementAt(Index), parametrizedString.ToPlainText());
                    paragraph.Range.SetListLevel(2);
                    paragraph.Range.ListFormat.ApplyListTemplateWithLevel(listTemplate, ContinuePreviousList: true, ApplyTo: WdListApplyTo.wdListApplyToSelection, DefaultListBehavior: WdDefaultListBehavior.wdWord10ListBehavior, ApplyLevel: 2);
                    paragraph.Range.InsertParagraphAfter();
                }
            }
        }
        private void TestCaseInfoForm_Load(object sender, EventArgs e)
        {
            try
            {
                label1.Text = testCase.ElementAt(nToolTipIndex).Title;

                ISharedStep          sharedStep          = null;
                ISharedStepReference sharedStepReference = null;

                List <string> actionsList = new List <string>();

                if (testCase.ElementAt(nToolTipIndex).Actions.Count == 0)
                {
                    actionsList.Add("Тест кейс пуст");
                }

                for (int i = 0; i < testCase.ElementAt(nToolTipIndex).Actions.Count; i++)
                {
                    sharedStepReference = testCase.ElementAt(nToolTipIndex).Actions.ElementAt(i) as ISharedStepReference;

                    if (sharedStepReference != null)
                    {
                        sharedStep = sharedStepReference.FindSharedStep();
                        actionsList.Add((i + 1) + ". " + sharedStep.Title + "\t(ОБЩИЙ ШАГ)");
                    }
                    else
                    {
                        ParameterizedString parametrizedString = new ParameterizedString(((ITestStep)testCase.ElementAt(nToolTipIndex).Actions[i]).Title.ToPlainText());
                        actionsList.Add((i + 1) + ". " + wordFile.get_ActionWithParameters(testCase.ElementAt(nToolTipIndex), parametrizedString.ToPlainText()));
                    }
                }

                listBox1.Items.AddRange(actionsList.ToArray());
            }
            catch
            {
                listBox1.Items.Add("В запросе отсутствуют тест кейсы.");
            }
        }