powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / White - тестирование DataGridView в WinForms приложении.
2 сообщений из 2, страница 1 из 1
White - тестирование DataGridView в WinForms приложении.
    #37247058
DontAskMe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Пытаюсь протестировать DataGridView в WinForms-приложении при помощи White:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    [Test]
        public void CanOpenTextFile()
        {
            var exeFilePath = Path.Combine(Environment.CurrentDirectory, "..", "..", "..", "Application",
            "bin", "Release", "Application.exe");

            var textFileToRead = Path.Combine(Environment.CurrentDirectory, "TestData", "SimpleTextFileToRead.txt");
            
            Application application = Application.Launch(exeFilePath);
            
            Window form1 = application.GetWindow("Form1", InitializeOption.NoCache);
            var menuBar = form1.MenuBar;
            var openMenuItem = menuBar.MenuItem("Файл", "Открыть");
            openMenuItem.Click();
            var openFileDialog = form1.ModalWindow("Открыть");
            var openFileDialogComboBox = openFileDialog.Get<ComboBox>();
            openFileDialogComboBox.EditableText = textFileToRead;
            var openButton = openFileDialog.Get<Button>("Открыть");
            openButton.Click();
            Assert.AreEqual(2, dataGridView.Rows.Count);
            
        }
Тест не проходит, так как dataGridView.Rows.Count в момент сравнивания с 2 имеет значение 0, хотя на форме при этом отображается грид с 2-мя строками. В интернетах пишут, что нужно запускать NUnitConsole с /nothread ключем. Попробовал - не помогает.
Вот что выдает dataGridView.LogStructure():
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
AutomationId: dgvMain
ControlType: ControlType.Table
Name: DataGridView
HelpText: 
Bounding rectangle:  33 , 79 , 284 , 238 
ClassName: WindowsForms10.Window. 8 .app. 0 .329445b_r13_ad1
IsOffScreen: False
FrameworkId: WinForm
ProcessId:  5772 


    AutomationId:  1708012 
    ControlType: ControlType.Pane
    Name: Горизонтальная полоса прокрутки
    HelpText: 
    Bounding rectangle:  34 , 299 , 282 , 17 
    ClassName: WindowsForms10.SCROLLBAR.app. 0 .329445b_r13_ad1
    IsOffScreen: False
    FrameworkId: WinForm
    ProcessId:  5772 


    AutomationId: 
    ControlType: ControlType.Custom
    Name: Верхняя строка
    HelpText: 
    Bounding rectangle:  34 , 80 , 282 , 34 
    ClassName: 
    IsOffScreen: False
    FrameworkId: 
    ProcessId:  5772 

    System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: Ячейка левого верхнего заголовка
        HelpText: DataGridViewTopLeftHeaderCell(DataGridViewColumnHeaderCell)
        Bounding rectangle:  34 , 80 , 41 , 34 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: ФИО
        HelpText: DataGridViewColumnHeaderCell(DataGridViewHeaderCell)
        Bounding rectangle:  75 , 80 , 100 , 34 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: Адрес
        HelpText: DataGridViewColumnHeaderCell(DataGridViewHeaderCell)
        Bounding rectangle:  175 , 80 , 100 , 34 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: Дата рождения
        HelpText: DataGridViewColumnHeaderCell(DataGridViewHeaderCell)
        Bounding rectangle:  275 , 80 , 100 , 34 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

    AutomationId: 
    ControlType: ControlType.Custom
    Name: Строка  0 
    HelpText: 
    Bounding rectangle:  34 , 114 , 282 , 22 
    ClassName: 
    IsOffScreen: False
    FrameworkId: 
    ProcessId:  5772 

    System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: Строка  0 
        HelpText: DataGridViewRowHeaderCell(DataGridViewHeaderCell)
        Bounding rectangle:  34 , 114 , 41 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: ФИО Строка  0 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  75 , 114 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: Адрес Строка  0 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  175 , 114 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: Дата рождения Строка  0 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  275 , 114 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

    AutomationId: 
    ControlType: ControlType.Custom
    Name: Строка  1 
    HelpText: 
    Bounding rectangle:  34 , 136 , 282 , 22 
    ClassName: 
    IsOffScreen: False
    FrameworkId: 
    ProcessId:  5772 

    System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Header
        Name: Строка  1 
        HelpText: DataGridViewRowHeaderCell(DataGridViewHeaderCell)
        Bounding rectangle:  34 , 136 , 41 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: ФИО Строка  1 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  75 , 136 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: Адрес Строка  1 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  175 , 136 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: Дата рождения Строка  1 
        HelpText: DataGridViewTextBoxCell(DataGridViewCell)
        Bounding rectangle:  275 , 136 , 100 , 22 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern
        System.Windows.Automation.ValuePattern

    AutomationId: 
    ControlType: ControlType.ScrollBar
    Name: Горизонтальная полоса прокрутки
    HelpText: 
    Bounding rectangle:  34 , 299 , 282 , 17 
    ClassName: 
    IsOffScreen: False
    FrameworkId: 
    ProcessId:  5772 

    System.Windows.Automation.ValuePattern

        AutomationId: 
        ControlType: ControlType.Button
        Name: Колонка влево
        HelpText: 
        Bounding rectangle:  34 , 299 , 17 , 17 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern

        AutomationId: 
        ControlType: ControlType.Custom
        Name: Положение
        HelpText: 
        Bounding rectangle:  51 , 299 , 199 , 17 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 


        AutomationId: 
        ControlType: ControlType.Button
        Name: Страница вправо
        HelpText: 
        Bounding rectangle:  250 , 299 , 49 , 17 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 

        System.Windows.Automation.InvokePattern

        AutomationId: 
        ControlType: ControlType.Button
        Name: Колонка вправо
        HelpText: 
        Bounding rectangle:  299 , 299 , 17 , 17 
        ClassName: 
        IsOffScreen: False
        FrameworkId: 
        ProcessId:  5772 
Помогите, пожалуйста, обнаружить проблему. Спасибо!
...
Рейтинг: 0 / 0
White - тестирование DataGridView в WinForms приложении.
    #37250296
Zenturio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DontAskMe,

Вполне возможно что нужно поставить задержку. После нажатия кнопки программа не успевает получить данные.
Поставьте точку останова перед строчкой сравнения и пришлите результат
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / White - тестирование DataGridView в WinForms приложении.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]