Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

AutomatedQA - Functional Testing -> Self-Testing Application



it4business.ru - проект об IT для бизнеса  

Новые темы IT-форума

AutomatedQA - Functional Testing -> Self-Testing Application
2009-08-19 14:42 Danre
Добрый вечер.

1) Есть необходимость код скриптов (тестов) поместить непосредственно в тестируемое приложение.
2) Есть уже написанные тесты для определенных классов форм (в отдельных функциях) типа:
##### Код { #####
function testFormBasis(formObject)
{
  var uGrid   = formObj["WinFormsObject"]("FormBasis_Fill_Panel")["WinFormsObject"]("ultraGrid");
  var toolBar = formObj["WinFormsObject"]("_FormBasis_Toolbars_Dock_Area_Top")["GetToolbarAtIndex"](0);
  var tools   = toolBar["Tools"];
  var saveTool;
  var addRowTool;
  var exitTool;
  var FormDictionary;
  for (var i=0;i<tools["Count"];i++)
  {
    switch (tools["Item"](i)["Key"]["OleValue"])
    {
      case "SaveButtonTool"   : saveTool = tools["Item"](i);   break;
      case "AddRowButtonTool" : addRowTool = tools["Item"](i); break;
      case "ExitButtonTool"   : exitTool = tools["Item"](i);   break;
    }
  }
  if (uGrid["Rows"]["Count"]==0)
  {
    addRowTool["OnToolClick"]();
    LogWord["Message"]("Добавление нового основания");
    uGrid["Rows"]["Item"](0)["Cells"]["Item"](3).Activated = true;
..........
..........
и т.д.
}
##### Код } #####

3) В приложении (C#) есть отдельный класс для тестов наследующий Connected
##### Код { #####
    public class TestForm : Connect
    {
        public void RunTestFormBasis()
        {
            //Тест...
        }
        public void RunTestFormReport()
        {
            //Тест...
        }
         //................
    }
##### Код } #####

и классы самих форм с методоми для запуска тестов
##### Код { #####
    public partial class FormDocumentReport : Form, IFormDocument
    {
        ........
        public void tcRunTest()
        {
            TestForm tcls = new TestForm();
            ThreadStart thrd_start = new ThreadStart(tcls.RunTestFormBasis);
            Thread thrd = new Thread(thrd_start);
            thrd.Start();
        }  
    }
##### Код } #####

Теперь вопрос:
Каким образом заменить в скриптах следующие участки
formObj = Sys["Process"]("ProcName")["WinFormsObject"]("MDIParentForm")["WinFormsObject"]("MdiClient", "")["WinFormsObject"]("FormDocumentReport")
.......
var uGrid = formObj["WinFormsObject"]("FormBasis_Fill_Panel")["WinFormsObject"]("ultraGrid");
var toolBar = formObj["WinFormsObject"]("_FormBasis_Toolbars_Dock_Area_Top")["GetToolbarAtIndex"](0);
т.е. поскольку скрипт будет в коде приложения - нет ли возможности обращаться к текущему объекту (форме). Не знаю как правильно спросить..
Есть ли возможность обращаться к текущей форме не через длинный путь к ней Sys["Process"].... который к тому же может время от времени меняться, а как-нибудь непосредственно, типа:

var uGrid = this["WinFormsObject"]("FormBasis_Fill_Panel")["WinFormsObject"]("ultraGrid");
var toolBar = this["WinFormsObject"]("_FormBasis_Toolbars_Dock_Area_Top")["GetToolbarAtIndex"](0);

Автоматизированное тестирование ПО -> Пользователи QA Wizard Pro, отзовитесь!
2009-08-19 18:32 astenix
Добрый день!

Очень хочу найти коллег, использующих этот чудо-тул. Т.к. складывается впечатление, что их нет. Обмен опытом, общение, советы, all included.

Оставайтесь на связи, мы работаем для вас!


© 2007 | IT для бизнеса: it4business.ru


В избранное