GUI acceptance tests using environment deployed from packages.

Build: #2887 failed

Job: Oneprovider data tab files failed

Stages & jobs

  1. Qnthack - copy quarantine

  2. Acceptance Test

  3. Qnthack - rerun

    Final

user sees 100 files from 200 uploaded at the beginning without refresh after 100 of them were deleted in another window[1oz 1op deployed]: Test case result

The below summarizes the result of the test " user sees 100 files from 200 uploaded at the beginning without refresh after 100 of them were deleted in another window[1oz 1op deployed]" in build 2,887 of Onedata Products - gui acceptance pkg - Oneprovider data tab files.
Description
user sees 100 files from 200 uploaded at the beginning without refresh after 100 of them were deleted in another window[1oz 1op deployed]
Test class
gui.scenarios.test_oneprovider_data_tab_files
Method
test_user_sees_100_files_from_200_uploaded_at_the_beginning_without_refresh_after_100_of_them_were_deleted_in_another_window[1oz_1op_deployed]
Jira Issue
Duration
6 mins
Status
Failed (New Failure)

Error Log

AssertionError: There are 198 files in file browser when should be 200, file list:['file10.txt', 'file100.txt', 'file101.txt', 'file102.txt', 'file103.txt', 'file104.txt', 'file105.txt', 'file106.txt', 'file107.txt', 'file108.txt', 'file109.txt', 'file11.txt', 'file110.txt', 'file111.txt', 'file112.txt', 'file113.txt', 'file114.txt', 'file115.txt', 'file116.txt', 'file117.txt', 'file118.txt', 'file119.txt', 'file12.txt', 'file120.txt', 'file121.txt', 'file122.txt', 'file123.txt', 'file124.txt', 'file125.txt', 'file126.txt', 'file127.txt', 'file128.txt', 'file129.txt', 'file13.txt', 'file130.txt', 'file131.txt', 'file132.txt', 'file133.txt', 'file134.txt', 'file135.txt', 'file136.txt', 'file137.txt', 'file138.txt', 'file139.txt', 'file14.txt', 'file140.txt', 'file141.txt', 'file142.txt', 'file143.txt', 'file144.txt', 'file145.txt', 'file146.txt', 'file147.txt', 'file148.txt', 'file149.txt', 'file15.txt', 'file150.txt', 'file151.txt', 'file152.txt', 'file153.txt', 'file154.txt', 'file155.txt', 'file156.txt', 'file157.txt', 'file158.txt', 'file159.txt', 'file16.txt', 'file160.txt', 'file161.txt', 'file162.txt', 'file163.txt', 'file164.txt', 'file165.txt', 'file166.txt', 'file167.txt', 'file168.txt', 'file169.txt', 'file17.txt', 'file170.txt', 'file171.txt', 'file172.txt', 'file173.txt', 'file174.txt', 'file175.txt', 'file176.txt', 'file177.txt', 'file178.txt', 'file179.txt', 'file18.txt', 'file180.txt', 'file181.txt', 'file182.txt', 'file183.txt', 'file184.txt', 'file185.txt', 'file186.txt', 'file187.txt', 'file188.txt', 'file189.txt', 'file19.txt', 'file190.txt', 'file191.txt', 'file192.txt', 'file193.txt', 'file194.txt', 'file195.txt', 'file196.txt', 'file197.txt', 'file198.txt', 'file199.txt', 'file2.txt', 'file20.txt', 'file21.txt', 'file22.txt', 'file23.txt', 'file24.txt', 'file25.txt', 'file26.txt', 'file27.txt', 'file28.txt', 'file29.txt', 'file3.txt', 'file30.txt', 'file31.txt', 'file32.txt', 'file33.txt', 'file34.txt', 'file35.txt', 'file36.txt', 'file37.txt', 'file38.txt', 'file39.txt', 'file4.txt', 'file40.txt', 'file41.txt', 'file42.txt', 'file43.txt', 'file44.txt', 'file45.txt', 'file46.txt', 'file47.txt', 'file48.txt', 'file49.txt', 'file5.txt', 'file50.txt', 'file51.txt', 'file52.txt', 'file53.txt', 'file54.txt', 'file55.txt', 'file56.txt', 'file57.txt', 'file58.txt', 'file59.txt', 'file6.txt', 'file60.txt', 'file61.txt', 'file62.txt', 'file63.txt', 'file64.txt', 'file65.txt', 'file66.txt', 'file67.txt', 'file68.txt', 'file69.txt', 'file7.txt', 'file70.txt', 'file71.txt', 'file72.txt', 'file73.txt', 'file74.txt', 'file75.txt', 'file76.txt', 'file77.txt', 'file78.txt', 'file79.txt', 'file8.txt', 'file80.txt', 'file81.txt', 'file82.txt', 'file83.txt', 'file84.txt', 'file85.txt', 'file86.txt', 'file87.txt', 'file88.txt', 'file89.txt', 'file9.txt', 'file90.txt', 'file91.txt', 'file92.txt', 'file93.txt', 'file94.txt', 'file95.txt', 'file96.txt', 'file97.txt', 'file98.txt', 'file99.txt']
request = <FixtureRequest for <Function 'test_user_sees_100_files_from_200_uploaded_at_the_beginning_without_refresh_after_100_of_them_were_deleted_in_another_window[1oz_1op_deployed]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:189: in _execute_scenario
    _execute_step_function(request, scenario, step, step_func)
/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:130: in _execute_step_function
    step_func(**kwargs)
tests/utils/bdd_utils.py:78: in wrapper
    return fun(*ba.args, **ba.kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

browser_id = 'browser1', count = 200
tmp_memory = defaultdict(<class 'dict'>, {'browser1': {'shares': {}, 'spaces': {}, 'groups': {}, 'mailbox': {}, 'oz': {}, 'window':...': {'modal': None}, 'file_browser': <tests.gui.utils.oneprovider.file_browser._FileBrowser object at 0x7f169f1a4d30>}})

    @wt(parsers.parse('user of {browser_id} scrolls to the bottom of file browser '
                      'and sees there are {count} files'))
    def count_files_while_scrolling(browser_id, count: int, tmp_memory):
        """
        In order to stabilize this function, func does not scroll too much at once
        to don`t omit any files
        Function assumes files` names don`t repeat
        """
    
        browser = tmp_memory[browser_id]['file_browser']
        detected_files = []
        visible_files = browser.names_of_visible_elems()
        new_files = [f for f in visible_files if f]
        while new_files:
            detected_files.extend(new_files)
            # click some browser elem
            browser.click_header()
            # scroll about 5 files downs
            for _ in range(5):
                browser.scroll_one_file_down()
            # wait if page does not respond instantly
            for _ in range(10):
                try:
                    visible_files = browser.names_of_visible_elems()
                    break
                except StaleElementReferenceException:
                    time.sleep(0.1)
            new_files = [f for f in visible_files if f and f not in detected_files]
        else:
            err_msg = (f'There are {len(detected_files)} files in file browser '
                       f'when should be {count}, file list:{detected_files}')
>           assert len(detected_files) == count, err_msg
E           AssertionError: There are 198 files in file browser when should be 200, file list:['file10.txt', 'file100.txt', 'file101.txt', 'file102.txt', 'file103.txt', 'file104.txt', 'file105.txt', 'file106.txt', 'file107.txt', 'file108.txt', 'file109.txt', 'file11.txt', 'file110.txt', 'file111.txt', 'file112.txt', 'file113.txt', 'file114.txt', 'file115.txt', 'file116.txt', 'file117.txt', 'file118.txt', 'file119.txt', 'file12.txt', 'file120.txt', 'file121.txt', 'file122.txt', 'file123.txt', 'file124.txt', 'file125.txt', 'file126.txt', 'file127.txt', 'file128.txt', 'file129.txt', 'file13.txt', 'file130.txt', 'file131.txt', 'file132.txt', 'file133.txt', 'file134.txt', 'file135.txt', 'file136.txt', 'file137.txt', 'file138.txt', 'file139.txt', 'file14.txt', 'file140.txt', 'file141.txt', 'file142.txt', 'file143.txt', 'file144.txt', 'file145.txt', 'file146.txt', 'file147.txt', 'file148.txt', 'file149.txt', 'file15.txt', 'file150.txt', 'file151.txt', 'file152.txt', 'file153.txt', 'file154.txt', 'file155.txt', 'file156.txt', 'file157.txt', 'file158.txt', 'file159.txt', 'file16.txt', 'file160.txt', 'file161.txt', 'file162.txt', 'file163.txt', 'file164.txt', 'file165.txt', 'file166.txt', 'file167.txt', 'file168.txt', 'file169.txt', 'file17.txt', 'file170.txt', 'file171.txt', 'file172.txt', 'file173.txt', 'file174.txt', 'file175.txt', 'file176.txt', 'file177.txt', 'file178.txt', 'file179.txt', 'file18.txt', 'file180.txt', 'file181.txt', 'file182.txt', 'file183.txt', 'file184.txt', 'file185.txt', 'file186.txt', 'file187.txt', 'file188.txt', 'file189.txt', 'file19.txt', 'file190.txt', 'file191.txt', 'file192.txt', 'file193.txt', 'file194.txt', 'file195.txt', 'file196.txt', 'file197.txt', 'file198.txt', 'file199.txt', 'file2.txt', 'file20.txt', 'file21.txt', 'file22.txt', 'file23.txt', 'file24.txt', 'file25.txt', 'file26.txt', 'file27.txt', 'file28.txt', 'file29.txt', 'file3.txt', 'file30.txt', 'file31.txt', 'file32.txt', 'file33.txt', 'file34.txt', 'file35.txt', 'file36.txt', 'file37.txt', 'file38.txt', 'file39.txt', 'file4.txt', 'file40.txt', 'file41.txt', 'file42.txt', 'file43.txt', 'file44.txt', 'file45.txt', 'file46.txt', 'file47.txt', 'file48.txt', 'file49.txt', 'file5.txt', 'file50.txt', 'file51.txt', 'file52.txt', 'file53.txt', 'file54.txt', 'file55.txt', 'file56.txt', 'file57.txt', 'file58.txt', 'file59.txt', 'file6.txt', 'file60.txt', 'file61.txt', 'file62.txt', 'file63.txt', 'file64.txt', 'file65.txt', 'file66.txt', 'file67.txt', 'file68.txt', 'file69.txt', 'file7.txt', 'file70.txt', 'file71.txt', 'file72.txt', 'file73.txt', 'file74.txt', 'file75.txt', 'file76.txt', 'file77.txt', 'file78.txt', 'file79.txt', 'file8.txt', 'file80.txt', 'file81.txt', 'file82.txt', 'file83.txt', 'file84.txt', 'file85.txt', 'file86.txt', 'file87.txt', 'file88.txt', 'file89.txt', 'file9.txt', 'file90.txt', 'file91.txt', 'file92.txt', 'file93.txt', 'file94.txt', 'file95.txt', 'file96.txt', 'file97.txt', 'file98.txt', 'file99.txt']

tests/gui/steps/oneprovider/file_browser.py:358: AssertionError