Перейти к содержимому

Фотография

проблема с white & ToolStripButton

white

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 quasixr

quasixr

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:QuasiXR

Отправлено 28 сентября 2015 - 14:15

Приветствую коллеги,

 

Стал глядеть в сторону White для тестирования winforms приложения и столкнулся с проблемой с ToolStripButton кнопками которые добавлены toolStrip контейнер в таком порядке:

toolStip

        - button one

        - button two

        - combobox one

        - drop down one

        - button three

у кнопок если смотреть через UIA Verify/Inspect/Spy нет autiomationID :( 

Но вроде работает поиск по свойству Text,, вот так:

MainWindow.Get<Button>(SearchCriteria.ByText("button one").AndControlType(ControlType.Button)).Click(); 

MainWindow.Get<Button>(SearchCriteria.ByText("button two").AndControlType(ControlType.Button)).Click();

 

но для "button three" это не работатет :(

 

Да еще, свойтво Text в ходе загрузки приложения меняется в соотвествии с локализацией... но первые две кнопки то находятся и кликаются а третья никак

 

гугл\документацию поизучал - как то очень мало информации по работе с toolStrip и особенно по хитростям - вообщем ничего не нашел толкового

 

Это точно что нельзя никак задать autiomationId для toolStripButton ? 

 

Cпасибо,

Валерий


  • 0

#2 quasixr

quasixr

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:QuasiXR

Отправлено 29 сентября 2015 - 13:51

дополню по воспроизведению проблемы
проблема воспроизводится на тестовом приложении включённом в состав white - ..\src\TestApplications\WindowsFormsTestApplication

 

там есть похожий тулбар в котором button toolstripButton2 добавлена после combobox & dropdown 

вот код теста, падаем по попытку получить кнопку button4

[TestMethod]
        public void TestMethod1()
        {
            var path = Path.GetFullPath(@"D:\white\White-master\src\TestApplications\WindowsFormsTestApplication\bin\Debug\WindowsFormsTestApplication.exe");
            var psi = new ProcessStartInfo(path);
            psi.WorkingDirectory = Path.GetDirectoryName(path);
            var application = Application.AttachOrLaunch(psi);
            Window mainWindow = application.GetWindow("MainWindow"); 
 
            // get toolbar
            ToolStrip toolStrip1 = mainWindow.GetToolStrip("ToolStrip1");
 
            Button button1 = toolStrip1.Get<Button>(SearchCriteria.ByText("toolStripButton1"));
            button1.Click(); - // OK, it works
            
            Button button2 = toolStrip1.Get<Button>(SearchCriteria.ByText("toolStripSplitButton1"));
            button2.Click(); // OK, it works
 
            Button button4 = toolStrip1.Get<Button>(SearchCriteria.ByText("toolStripButton2"));
             // here we get an exception:
             // TestStack.White.AutomationException was unhandled by user code
             //  HResult=-2146233088
             // Message=Failed to get (ControlType=button or ControlType=check box),Name=toolStripButton2
             // Source=TestStack.White
             // DebugDetails=
 
            button4.Click();
 
            Button button5 = toolStrip1.Get<Button>(SearchCriteria.ByText("toolStripSplitButton2"));
            button5.Click();
 
            mainWindow.Close();
            Assert.IsTrue(mainWindow.IsClosed);
}

  • 0



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных