ситуация -- есть JTable, в котором хранятся, к примеру, JComboBox'ы. XDE Tester может промапить как GuiSubitemTestObject'ы собственно таблицу и заголовок. При попытке взять из модели значение, оказывается, что данные содержатся в виде String.
вопрос -- знает ли кто-нибудь способ достучаться именно до объекта Object, хранящегося в таблице? Пока есть только подозрение, плавно переходящее в уверенность, что в XDE не предусмотрена поддержка каких бы то ни было объектов в TableModel кроме String.
Working with the JTabel via XDE Tester
Автор bolshik, 28 июн 2005 10:56
Сообщений в теме: 6
#1
Отправлено 28 июня 2005 - 10:56
#2
Отправлено 28 июня 2005 - 11:47
Это не XDE Tester виноват, это так Swing устроен. XDE Tester работает с моделью, там действительно строки. А комбобокс -- это редактор (Controller). К нему доступа из модели нет. Я не знаю, умеет ли XDE Tester как-то находить визуальные элементы, находящиеся внутри JTable, но вручную запрограммировать доступ к этим объектам -- задачка не из самых простых.
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#3
Отправлено 28 июня 2005 - 11:54
стоп-стоп-стоп
JFrame frame = new JFrame("test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(640, 480); JPanel panel = new JPanel(); JTable table = new JTable(2, 1); table.setValueAt(new JComboBox(new Object[] {"one", "two"}), 0, 0); table.setValueAt(new JComboBox(new Object[] {"three", "four"}), 1, 0); JComboBox box = (JComboBox) table.getModel().getValueAt(0, 0); panel.add(box); frame.getContentPane().add(panel); frame.show();Прекрасно достается все и приводится из модели.
#4
Отправлено 28 июня 2005 - 12:02
Ах, вот вы как делате. Гм-гм. Неклассический способ. Обычно определяют вьюер и редактор отдельно, а модель отдельно. Впрочем, и так допустимо. Однако, менять значения в такой таблице программным способом крайне трудно. Ну, дело ваше. Тогда, видимо, дело действительно в маппинге XDE Tester'а, здесь уже Swing не виноват, прошу прощения за невольную дезинформацию.
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#5
Отправлено 28 июня 2005 - 12:29
на самом деле, мой пример был самописка на коленке :(
Сейчас путем обходных умозаключений выяснилось, что XDE действительно берет CellRenderer при взятии данных из tablemodel с нестандартным cellrenderer. Сейчас попытаюсь взять-таки celleditor, который и есмь искомый комбобокс.
Сейчас путем обходных умозаключений выяснилось, что XDE действительно берет CellRenderer при взятии данных из tablemodel с нестандартным cellrenderer. Сейчас попытаюсь взять-таки celleditor, который и есмь искомый комбобокс.
#6
Отправлено 28 июня 2005 - 13:29
похоже, что максимум, что дозволено взять из ColumnModel -- названия и порядок столбцов. Мда-а-а-а-а
#7
Отправлено 29 июня 2005 - 12:37
в общем, кому интересно, проблема была решена через method invocation на тестируемых объектах.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных