Project

General

Profile

Actions

action #65100

closed

coordination #36712: [saga] Use YaST specific framework for GUI testing

coordination #50672: [funtional][y][epic] Use libyui-rest-api for YaST modules testing

[functional][y] Changing a value in an element does not trigger events to reload other elements of the window.

Added by oorlov over 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
QA (public, currently private due to #173521) - future
Start date:
2019-04-25
Due date:
2020-05-05
% Done:

0%

Estimated time:
13.00 h

Description

Steps to reproduce:

  1. Run 'timezone' yast2 module when libyui-rest-api is installed in the system (e.g. for ncurses: sudo YUI_HTTP_PORT=9999 /sbin/yast2 timezone, Qt: xdg-su -c "env YUI_HTTP_PORT=9999 /sbin/yast2 timezone");
  2. Select another region (e.g. select 'Russia' with curl -X POST 'http://localhost:9999/v1/widgets?id=region&action=select&value=Russia');
  3. Focus on 'Time Zone' selector.

Expected result:
Time Zone list is changed in accordance with the selected region.
Actual result:
Time Zone is remained unchanged.

NOTE1:
The same issue is reproduced for:

  • YComboBox in Qt;
  • YInputField (e.g. run xdg-su -c "env YUI_HTTP_PORT=9999 /sbin/yast2 alternatives" and execute curl -X POST 'http://localhost:9999/v1/widgets?id=search&action=enter_text&value=clang' => The text will be set, but table is not updated.
  • YSelectionBox in ncurses.

NOTE2:
Please consider other elements which also require the event to be sent after updating.

Assumption:

The issue might happen because YComboBox, YSelectionBox, YInputField do not implement activate() method (we just need to send relevant event), so that the method is not called in YHttpWidgetsActionHandler in libyui-rest-api:

    /**
    * Activate the item selected in the tree. Can be used in tests to simulate user input.
    *
    * Derived classes are required to implement this.
    **/
    virtual void activate() = 0;
Actions #1

Updated by oorlov over 4 years ago

  • Project changed from 46 to openQA Tests (public)
  • Category set to Infrastructure
Actions #2

Updated by oorlov over 4 years ago

Unfortunately I was not able to set parent ticket to https://progress.opensuse.org/issues/36712 due to Internal Error.

Actions #3

Updated by riafarov over 4 years ago

  • Description updated (diff)
  • Status changed from New to Workable
  • Estimated time set to 13.00 h
Actions #4

Updated by oorlov over 4 years ago

  • Subject changed from [functional][y] Changing a value in YComboBox and YSelectionBox does not trigger events to reload other elements of the window. to [functional][y] Changing a value in an element does not trigger events to reload other elements of the window.
  • Description updated (diff)
Actions #5

Updated by oorlov over 4 years ago

  • Description updated (diff)
Actions #6

Updated by riafarov over 4 years ago

  • Assignee set to riafarov
  • Target version set to future
Actions #7

Updated by riafarov over 4 years ago

  • Status changed from Workable to In Progress
  • Parent task set to #50672
Actions #8

Updated by riafarov over 4 years ago

  • Start date set to 2019-04-25

due to changes in a related task

Actions #9

Updated by riafarov over 4 years ago

Fixed for the mentioned widgets, but we still have couple more like YTable, YIntField, YMultiLineEdit, YRadioButton, YCheckBox where we need to handle same issue.

Actions #10

Updated by riafarov over 4 years ago

  • Due date changed from 2020-04-21 to 2020-05-05
Actions #11

Updated by riafarov over 4 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF