Простой автотест

Parent Previous Next

Простой автотест


Автотесты описываются языком программирования C#.


Структура автотеста:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

В начале идет список подключаемых библиотек.


HatFramework - это встроенный фреймворк в браузер.

namespace Hat

{

    public class ExampleTest1

    {

        

    }

}

Пространство имен и класс.

Имя класса должно быть таким же как имя файла.

Tester tester;


public async void Main(Form browserWindow)

{

        tester = new Tester(browserWindow);


        await setUp();

        await test();

        await tearDown();

}

Объявляется глобальная переменная тип которой Tester


Описана основная функция с которой начинается запуск автотеста.

В этой функции инициализируется глобальная переменная тип которой Tester.


Далее идет вызов асинхронных функций.

public async Task setUp()

{

            

}


public async Task test()

{

        await tester.TestBeginAsync();

            

        await tester.TestEndAsync();

}


public async Task tearDown()

{


}

Описаны асинхронные функция которые выполняют:


  • setUp - функция перед тестом
  • task - функция теста
  • tearDown - функция после теста


(имена функций могут быть любыми, важен сам смысл и их последовательность)


Примечание: тест всегда должен начинаться методом TestBeginAsync() и заканчиваться методом TestEndAsync()



Демонстрационный автотест полностью:


Файл: ExampleTest1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;


namespace Hat

{

    public class ExampleTest1

    {

        Tester tester;


        public async void Main(Form browserWindow)

        {

            tester = new Tester(browserWindow);


            await setUp();

            await test();

            await tearDown();

        }


        public async Task setUp()

        {

            await tester.BrowserFullScreenAsync();

        }


        public async Task test()

        {

            await tester.TestBeginAsync();

            await tester.GoToUrlAsync("https://somovstudio.github.io/test.html", 5);

            await tester.WaitVisibleElementByIdAsync("login", 15);

            await tester.SetValueInElementByIdAsync("login", "admin");

            await tester.WaitAsync(2);

            await tester.SetValueInElementByIdAsync("pass", "0000");

            await tester.WaitAsync(2);

            await tester.ClickElementByIdAsync("buttonLogin");

            await tester.WaitVisibleElementByIdAsync("result", 5);

            string actual = await tester.GetValueFromElementByIdAsync("textarea");

            string expected = "Вы успешно авторизованы";

            await tester.AssertEqualsAsync(expected, actual);

            await tester.TestEndAsync();

        }


        public async Task tearDown()

        {

            await tester.BrowserCloseAsync();

        }

    }

}




Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites