Project

General

Profile

action #65100

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 about 1 year ago. Updated 6 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
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;

History

#1 Updated by oorlov about 1 year ago

  • Project changed from SUSE QA tests to openQA Tests
  • Category set to Infrastructure

#2 Updated by oorlov about 1 year ago

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

#3 Updated by riafarov about 1 year ago

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

#4 Updated by oorlov about 1 year 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)

#5 Updated by oorlov about 1 year ago

  • Description updated (diff)

#6 Updated by riafarov about 1 year ago

  • Assignee set to riafarov
  • Target version set to future

#7 Updated by riafarov about 1 year ago

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

#8 Updated by riafarov about 1 year ago

  • Start date set to 2019-04-25

due to changes in a related task

#9 Updated by riafarov 12 months 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.

#10 Updated by riafarov 12 months ago

  • Due date changed from 2020-04-21 to 2020-05-05

#11 Updated by riafarov 11 months ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF