Project

General

Profile

action #65960

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

coordination #62726: [functional][y][epic] Create separate Ruby Gem representing libyui Client API

[functional][y] Implement libyui_client widgets required to make test for registration module

Added by oorlov over 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
2020-04-22
Due date:
2020-05-19
% Done:

0%

Estimated time:
8.00 h

Description

Motivation

https://gist.github.com/lslezak/ed9d54b91dc3cdec865ce289d01ac0c2

registration module is proposed as the first module to test with libyui-client. Though it is unsure if all the widgets to communicate with the module already created.

To install packages for libyui-rest-api one can use this repo (in case we cannot find packages in SLES repos):
https://download.opensuse.org/repositories/YaST:/Head/openSUSE_Factory/
But it's packaged for SLE 15 SP2: https://build.suse.de/package/show/SUSE:SLE-15-SP2:GA/libyui-rest-api
We just don't know in which repo it's published.

See initial PR from Alex: https://github.com/jknphy/libyui_client/pull/6

Acceptance Criteria

  1. All libyui_client widgets required to make test for registration module for both Qt and ncurses are implemented;
  2. Unit tests for methods introduced in the widgets are created and passed;
  3. Rubocop checks passed.

Proposed steps

  1. Install latest version of Sle15-SP2 with libyui-rest-api (as currently it is not clear where the package is located, e.g. enable all patterns during installation);
  2. Run registration module in both ncurses and Qt (e.g. for Qt xdg-su -c "env YUI_HTTP_REMOTE=1 YUI_HTTP_PORT=9998 /sbin/yast2 registration")
  3. Connect to the module with browser/curl or any other client which allows to make GET requests and provide easy visualization of returned JSON;
  4. Identify all the Widgets that are used in registration module;
  5. Implement the widgets in libyui_client.

History

#1 Updated by oorlov over 1 year ago

  • Parent task changed from #36712 to #62726

#2 Updated by oorlov over 1 year ago

  • Description updated (diff)

#3 Updated by oorlov over 1 year ago

  • Description updated (diff)

#4 Updated by riafarov over 1 year ago

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

#5 Updated by JERiveraMoya over 1 year ago

  • Assignee set to JERiveraMoya

#6 Updated by JERiveraMoya over 1 year ago

  • Status changed from Workable to In Progress

#7 Updated by JERiveraMoya over 1 year ago

  • Status changed from In Progress to Feedback

#8 Updated by riafarov over 1 year ago

  • Due date changed from 2020-05-05 to 2020-05-19

Advanced filtering mechanisms are wip, so that we can find widgets using regexp for label instead of exact match.
We also are not sure if we escape special characters like & to become %26 for instance.

#9 Updated by JERiveraMoya over 1 year ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF