Тестирование
Тестирование — средства для тестирования приложений GTK+
Функции
| GtkWidget * | gtk_test_create_simple_window () |
| GtkWidget * | gtk_test_create_widget () |
| GtkWidget * | gtk_test_display_button_window () |
| GtkWidget * | gtk_test_find_label () |
| GtkWidget * | gtk_test_find_sibling () |
| GtkWidget * | gtk_test_find_widget () |
| void | gtk_test_init () |
| const GType * | gtk_test_list_all_types () |
| void | gtk_test_register_all_types () |
| double | gtk_test_slider_get_value () |
| void | gtk_test_slider_set_perc () |
| gboolean | gtk_test_spin_button_click () |
| gchar * | gtk_test_text_get () |
| void | gtk_test_text_set () |
| gboolean | gtk_test_widget_click () |
| gboolean | gtk_test_widget_send_key () |
| void | gtk_test_widget_wait_for_draw () |
Файлы заголовков
#include <gtk/gtk.h>
Описание
Функции
gtk_test_create_simple_window ()
GtkWidget * gtk_test_create_simple_window (const gchar *window_title,const gchar *dialog_text);
gtk_test_create_simple_window устарело с версии 3.20 и не должно использоваться в новом коде.
Эта инфраструктура тестирования устаревает в пользу reftests.
Создаёт простое окно с заголовком window_title и текстовым содержимым dialog_text. Окно завершит любой запущенный цикл gtk_main() при уничтожении, и оно будет автоматически уничтожено при завершении функции теста.
Параметры
window_title | Заголовок отображаемого окна. | |
dialog_text | Текст внутри отображаемого окна. |
Возвращаемое значение
указатель на виджет GtkWindow, только что созданный.
[transfer none]
С: 2.14
gtk_test_create_widget ()
GtkWidget * gtk_test_create_widget (GType widget_type,const gchar *first_property_name,...);
gtk_test_create_widget устарело с версии 3.20 и не должно использоваться в новом коде.
Эта инфраструктура тестирования устаревает в пользу reftests.
Эта функция оборачивает g_object_new() для типов виджетов. Она автоматически отображает все созданные не-окно виджеты, также g_object_ref_sink() их (чтобы сохранить их при запуске теста) и подготовит их к уничтожению во время следующей фазы завершения теста.
Параметры
widget_type | действительный тип виджета. | |
first_property_name | Имя первой свойства для установки или | [allow-none] |
... | значение для установки первого свойства, за которым следуют дополнительные пары имя-значение, завершённые |
Возвращаемое значение
только что созданный виджет.
[transfer none]
С: 2.14
gtk_test_display_button_window ()
GtkWidget * gtk_test_display_button_window (const gchar *window_title,const gchar *dialog_text,...);
gtk_test_display_button_window устарело с версии 3.20 и не должно использоваться в новом коде.
Эта инфраструктура тестирования устаревает в пользу reftests.
Создаёт окно с заголовком window_title, текстовым содержимым dialog_text и количеством кнопок, согласно списку пар аргументов, заданным как параметры @... Каждый переданный аргумент - пара label и обработчик сигнала ::clicked, который инкрементирует целое число, хранящееся в nump. Окно будет автоматически отображено с помощью gtk_widget_show_now() после создания, поэтому к моменту возврата из этой функции окно уже отображено, перераспределено и размещено на экране. Окно завершит любой запущенный цикл gtk_main() при уничтожении, и оно будет автоматически уничтожено при завершении функции теста.
Параметры
window_title | Заголовок отображаемого окна. | |
dialog_text | Текст внутри отображаемого окна. | |
... |
|
Возвращаемое значение
указатель на виджет GtkWindow, только что созданный.
[transfer full]
С: 2.14
gtk_test_find_label ()
GtkWidget * gtk_test_find_label (GtkWidget *widget,const gchar *label_pattern);
Эта функция будет искать в widget и всех его потомках виджет GtkLabel с текстовой строкой, соответствующей label_pattern. label_pattern может содержать звёздочки «*» и вопросительные знаки «?» в качестве заглушек, используется для сопоставления. Обратите внимание, что языковые настройки, отличные от "C", могут изменять (переводить) строки меток, поэтому эта функция обычно полезна только в тестовых программах с предопределёнными языковыми настройками, см. gtk_test_init() для получения дополнительных сведений.
Параметры
widget | Действительный виджет метки или контейнера. | |
label_pattern | Шаблон shell-glob для сопоставления текстовой строки метки. |
Возвращаемое значение
виджет GtkLabel, если он найден.
[transfer none]
С: 2.14
gtk_test_find_sibling ()
GtkWidget * gtk_test_find_sibling (GtkWidget *base_widget,GType widget_type);
Эта функция будет искать братьев base_widget и братьев его предков для всех виджетов, соответствующих widget_type. Из соответствующих виджетов будет возвращён тот, который геометрически ближе всего к base_widget. Общее назначение этой функции — найти наиболее вероятный виджет «действия» по отношению к другому виджету маркировки. Например, найти кнопку или поле ввода, зная соответствующий виджет метки.
Параметры
base_widget | Действительный виджет, являющийся частью иерархии виджетов | |
widget_type | Тип ищуемого брата-виджета |
Возвращаемое значение
виджет типа widget_type, если он найден.
[transfer none]
С: 2.14
gtk_test_find_widget ()
GtkWidget * gtk_test_find_widget (GtkWidget *widget,const gchar *label_pattern,GType widget_type);
Эта функция будет искать потомков widget для виджета типа widget_type, имеющего метку, соответствующую label_pattern рядом с ним. Это наиболее полезно для автоматизированного тестирования графического интерфейса, например, для поиска кнопки «ОК» в диалоговом окне и моделирования щелчков по ней. Однако, см. gtk_test_find_label(), gtk_test_find_sibling() и gtk_test_widget_click() для возможных оговорок, связанных с поиском таких виджетов и моделированием событий виджетов.
Параметры
widget | Контейнерный виджет, обычно GtkWindow. | |
label_pattern | Шаблон shell-glob для сопоставления текстовой строки метки. | |
widget_type | Тип ищуемого виджета-брата метки. |
Возвращаемое значение
действительный виджет, если он найден, или NULL.
[nullable][transfer none]
С: 2.14
gtk_test_init ()
void
gtk_test_init (int *argcp,
char ***argvp,
...); Эта функция используется для инициализации программы GTK+ для тестирования.
Она, в свою очередь, вызовет g_test_init() и gtk_init() для правильной инициализации тестовой среды и графического инструментария. Она также установит локаль программы на «C» и предотвратит загрузку файлов rc и модулей Gtk+. Это делается для того, чтобы среды программ для тестов были максимально детерминированными.
Как и gtk_init() и g_test_init(), все известные аргументы будут обработаны и удалены из argc и argv.
Параметры
argcp | Адрес параметра | |
argvp | Адрес параметра | [inout][array length=argcp] |
... | в настоящее время не используется |
С: 2.14
gtk_test_list_all_types ()
const GType * gtk_test_list_all_types (guint *n_types);
Возвращает идентификаторы типов, которые были зарегистрированы после вызова gtk_test_register_all_types().
Параметры
n_types | место для хранения количества типов |
Возвращаемое значение
0-завершаемый массив идентификаторов типов.
[array length=n_types zero-terminated=1][transfer none]
С: 2.14
gtk_test_register_all_types ()
void gtk_test_register_all_types (void);
Принудительно регистрирует все типы основных объектов Gtk+ и Gdk. Это позволяет ссылаться на любой из этих типов объектов через g_type_from_name() после вызова этой функции.
С: 2.14
gtk_test_slider_get_value ()
double
gtk_test_slider_get_value (GtkWidget *widget); gtk_test_slider_get_value устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Возвращает значение регулировки для виджетов на основе GtkRange и ползунков. Обратите внимание, что значение, возвращаемое этой функцией, находится в диапазоне между нижней и верхней границами регулировки, принадлежащей widget, и не является процентом, как передаваемый в gtk_test_slider_set_perc().
Параметры
widget | действительный указатель виджета. |
Возвращаемое значение
gtk_adjustment_get_value (adjustment) для регулировки, принадлежащей widget.
С: 2.14
gtk_test_slider_set_perc ()
void gtk_test_slider_set_perc (GtkWidget *widget,double percentage);
gtk_test_slider_set_perc устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Эта функция настраивает положение ползунка для всех виджетов на основе GtkRange, таких как полосы прокрутки или шкалы, а также ползунков. Значение регулировки этих виджетов устанавливается в значение между нижним и верхним пределами в соответствии с аргументом percentage.
Параметры
widget | действительный указатель виджета. | |
percentage | значение от 0 до 100. |
С: 2.14
gtk_test_spin_button_click ()
gboolean gtk_test_spin_button_click (GtkSpinButton *spinner,guint button,gboolean upwards);
gtk_test_spin_button_click устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Эта функция генерирует нажатие button на стрелки увеличения или уменьшения ползунка, обычно приводящее к увеличению или уменьшению значения ползунка.
Параметры
spinner | действительный виджет GtkSpinButton. | |
button | Номер нажатой кнопки указателя, обычно 1, 2 или 3. | |
upwards |
|
Возвращаемое значение
указывает, были ли успешно выполнены все действия, необходимые для моделирования нажатия кнопки.
С: 2.14
gtk_test_text_get ()
gchar *
gtk_test_text_get (GtkWidget *widget); gtk_test_text_get устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Возвращает строку текста widget, если это GtkLabel, GtkEditable (виджеты ввода и текстового поля) или GtkTextView.
Параметры
widget | действительный указатель виджета. |
Возвращаемое значение
новая 0-завершаемая C-строка, которую нужно освободить с помощью g_free().
С: 2.14
gtk_test_text_set ()
void gtk_test_text_set (GtkWidget *widget,const gchar *string);
gtk_test_text_set устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Устанавливает строку текста widget на string, если это GtkLabel, GtkEditable (виджеты ввода и текстового поля) или GtkTextView.
Параметры
widget | действительный указатель виджета. | |
string | 0-завершаемая C-строка |
С: 2.14
gtk_test_widget_click ()
gboolean gtk_test_widget_click (GtkWidget *widget,guint button,GdkModifierType modifiers);
gtk_test_widget_click устарело с версии 3.20 и не должно использоваться в новых программах.
Эта инфраструктура тестирования упраздняется в пользу reftests.
Эта функция генерирует нажатие button (событие нажатия и отпускания кнопки) в центре первого GdkWindow, найденного, который принадлежит widget. Для виджетов без окна, таких как GtkButton (который возвращает FALSE из gtk_widget_get_has_window()), это часто будет окно только для ввода. Для других виджетов это обычно widget->window. Следует учитывать определенные особенности при использовании этой функции, в частности, потому что указатель мыши смещается к месту нажатия кнопки, см. gdk_test_simulate_button() для получения подробной информации.
Параметры
widget | Виджет, на который нужно нажать. | |
button | Номер нажатой кнопки указателя, обычно 1, 2 или 3. | |
modifiers | Модификаторы клавиш, с которыми устанавливается событие. |
Возвращаемое значение
указывает, были ли успешно выполнены все действия, необходимые для моделирования нажатия кнопки.
С: 2.14
gtk_test_widget_send_key ()
gboolean gtk_test_widget_send_key (GtkWidget *widget,guint keyval,GdkModifierType modifiers);
Эта функция генерирует события нажатия и отпуска клавиши в середине первого найденного GdkWindow, принадлежащего widget. Для бессолнечных виджетов, таких как GtkButton (который возвращает FALSE из gtk_widget_get_has_window()), это часто будет окно только для ввода. Для других виджетов это обычно widget->window. Следует учитывать определённые особенности при использовании этой функции, особенно потому, что указатель мыши смещается к месту нажатия клавиши, см. gdk_test_simulate_key() для получения подробной информации.
Параметры
widget | Виджет, на котором необходимо сгенерировать нажатие и отпускание клавиши. | |
keyval | Значение клавиши Gdk. | |
modifiers | Модификаторы клавиш, с которыми устанавливается событие. |
Возвращаемое значение
Указывает, были ли выполнены все необходимые действия для успешной симуляции события нажатия клавиши.
С версии: 2.14
gtk_test_widget_wait_for_draw ()
void
gtk_test_widget_wait_for_draw (GtkWidget *widget); Запускает основной цикл и ожидает, пока widget будет «отображен». В данном контексте это означает ожидание, пока цикл отрисовки widget выполнит полный цикл стилизации, компоновки и отрисовки.
Эта функция предназначена для синхронизации с действиями, которые зависят от перекомпоновки widget или взаимодействия с сервером отображения.
Параметры
widget | виджет, ожидание которого необходимо |
С версии: 3.10
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/gtk3-Testing.html