1import logging
2import os.path
3import time
4
5import pytest
6from utils.images import compare_image_similarity, crop_picture
7
8
9class Test:
10    ability_name = 'com.ohos.photos.MainAbility'
11    bundle_name = 'com.ohos.photos'
12
13    @pytest.mark.parametrize('setup_teardown', [bundle_name], indirect=True)
14    def test(self, setup_teardown, device):
15        logging.info('start gallery app')
16        device.start_ability(self.bundle_name, self.ability_name)
17
18        logging.info('compare image similarity')
19        standard_pic = os.path.join(device.resource_path, 'photos.jpeg')
20        photos_page_pic = device.save_snapshot_to_local('{}_photos.jpeg'.format(device.sn))
21        crop_picture(photos_page_pic)
22        similarity = compare_image_similarity(photos_page_pic, standard_pic)
23        assert similarity > 0.5, 'compare similarity failed'
24
25        logging.info('medialibrarydata process check')
26        process = 'com.ohos.medialibrary.medialibrarydata'
27        device.assert_process_running(process)
28        time.sleep(1)
29
30        logging.info('sandbox path check')
31        pid = device.get_pid(process)
32        sanboxf = device.hdc_shell('echo \"ls /storage/media/local/\"|nsenter -t {} -m sh'.format(pid))
33        assert 'files' in sanboxf, 'files not in {}'.format(sanboxf)
34