def test_shape_attr(self, type): logging.info('==========test_shape_attr==========') cv = CreateView(self.driver) cv.create_file(type) gv = GeneralView(self.driver) gv.group_button_click('插入') gv.insert_shape(type, 6, 30) gv.shape_insert(type, 6, 31) gv.shape_insert(type, 6, 32) gv.shape_insert(type, 6, 33) gv.shape_option(type, 2) gv.shape_fill_color(type, 6, 24) gv.shape_fill_color_transparency(5) ele1 = '//*[@resource-id="com.yozo.office:id/yozo_ui_%s_option_id_shape_quick_function"]' % type ele2 = '//*[@text="轮廓"]' gv.swipe_ele(ele2, ele1) gv.shape_border_color(type, 6, 5) gv.shape_border_type(type, 6, 3) gv.shape_border_width(type, 6, 20) ele3 = '//*[@text="效果"]' gv.swipe_ele(ele3, ele2) gv.shape_effect_type(type, 6, 4, 5) gv.shape_layer('下移一层') gv.shape_layer('置于底层') gv.shape_layer('上移一层') gv.shape_layer('置于顶层') time.sleep(3)
def test_share_editFile(self, share_info): """ 编辑文档分享 :param share_info: 分享相关信息,'wp_wx', 'wp_qq', 'wp_ding', 'wp_mail'.. :return: None """ logging.info('==========test_share_newFile==========') file_type = share_info.split('_')[0] share_type = share_info.split('_')[1] logging.info('==========edit and save File==========') ov = OpenView(self.driver) ov.open_random_file(SEARCH_DICT[file_type]) gv = GeneralView(self.driver) self.driver.find_element( By.ID, 'com.yozo.office.en:id/yozo_ui_toolbar_button_mode').click() gv.group_button_click(' Insert ') gv.insert_shape(file_type, 1) cv = CreateView(self.driver) cv.save_file() self.assertTrue(cv.get_toast_message('Saved to local')) logging.info('==========share new File==========') gv = GeneralView(self.driver) gv.share_file(file_type, share_type)
def test_wp_shape_text_attr(self): # 自选图形文本属性,仅WP和PG logging.info('==========test_wp_shape_text_attr==========') cv = CreateView(self.driver) cv.create_file(self.file_type) gv = GeneralView(self.driver) gv.group_button_click(' Insert ') gv.insert_shape(self.file_type, 1) gv.tap(680, 750) gv.pop_menu_click('editText') time.sleep(1) gv.group_button_click(' Edit ') gv.font_name(self.file_type, 'AndroidClock') gv.font_size(15) gv.font_style(self.file_type, '倾斜') gv.font_color(self.file_type, 6, 29) gv.swipe_ele('//*[@text=" Font Color "]', '//*[@text=" Edit "]') time.sleep(1) for i in range(20): self.driver.press_keycode(random.randint(29, 54)) time.sleep(1) gv.swipe_ele('//*[@text=" Highlight Color "]', '//*[@text=" Edit "]') gv.drag_coordinate(680, 750, 680, 600) gv.high_light_color(self.file_type, 6, random.randint(1, 15)) gv.bullets_numbers(self.file_type, 6, 10) gv.text_align(self.file_type, '分散对齐') gv.text_align(self.file_type, '右对齐') gv.text_line_space(self.file_type, 1.5) gv.text_line_space(self.file_type, 3) gv.text_indent(self.file_type, '右缩进') gv.text_indent(self.file_type, '右缩进') gv.text_indent(self.file_type, '左缩进') time.sleep(3)
def test_shape_text_attr_pg(self): # 自选图形文本属性,仅WP和PG logging.info('==========test_shape_text_attr_pg==========') type = 'pg' cv = CreateView(self.driver) cv.create_file(type) gv = GeneralView(self.driver) gv.group_button_click('插入') gv.insert_shape(type, 1) gv.group_button_click('编辑') gv.font_name(type, 'AndroidClock') gv.font_size(15) gv.font_style(type, '倾斜') gv.font_color(type, 6, 29) gv.swipe_ele('//*[@text="字体颜色"]', '//*[@text="编辑"]') time.sleep(1) gv.tap(550, 450) time.sleep(1) gv.tap(550, 450, 6) time.sleep(1) for i in range(20): self.driver.press_keycode(random.randint(29, 54)) time.sleep(1) gv.group_button_click('编辑') # gv.high_light_color(type,6,6) gv.bullets_numbers(type, 6, 10) gv.text_align(type, '分散对齐') gv.text_align(type, '右对齐') gv.text_line_space(type, 1.5) gv.text_line_space(type, 3) gv.text_indent(type, '右缩进') gv.text_indent(type, '右缩进') gv.text_indent(type, '左缩进') time.sleep(3)
def test_shape_text_attr_pg(self): # 自选图形文本属性,仅WP和PG logging.info('==========test_shape_text_attr_pg==========') cv = CreateView(self.driver) cv.create_file(self.file_type) gv = GeneralView(self.driver) gv.group_button_click(' Insert ') gv.insert_shape(self.file_type, 1) gv.group_button_click(' Edit ') gv.font_name(self.file_type, 'AndroidClock') gv.font_size(15) gv.font_style(self.file_type, '倾斜') gv.font_color(self.file_type, 6, 29) gv.swipe_ele('//*[@text=" Font Color "]', '//*[@text=" Edit "]') gv.fold_expand() time.sleep(1) x, y = gv.find_pic_position('drag_all') gv.tap(x, y) # 进入 Edit gv.pop_menu_click('editText') for i in range(20): self.driver.press_keycode(random.randint(29, 54)) time.sleep(1) gv.group_button_click(' Edit ') gv.bullets_numbers('pg', 6, 10) gv.text_align(self.file_type, '分散对齐') gv.text_align(self.file_type, '右对齐') gv.text_line_space(self.file_type, 1.5) gv.text_line_space(self.file_type, 3) gv.text_indent(self.file_type, '右缩进') gv.text_indent(self.file_type, '右缩进') gv.text_indent(self.file_type, '左缩进') time.sleep(3)
def test_shape_attr1(self): logging.info('==========test_shape_attr1==========') cv = CreateView(self.driver) cv.create_file('ss', 0) gv = GeneralView(self.driver) gv.group_button_click('插入') type = 'ss' gv.insert_shape('ss', 1) time.sleep(1) gv.tap(700, 767, 4) # 双击进入编辑 for i in range(100): self.driver.press_keycode(random.randint(7, 16)) gv.group_button_click('编辑') gv.shape_option(type, 5, width=5, height=5) gv.shape_option(type, 6, top=0.5, bottom=0.5, left=0.5, right=0.5) ele1 = '//*[@resource-id="com.yozo.office:id/yozo_ui_ss_option_id_shape_quick_function"]' ele2 = '//*[@text="轮廓"]' ele3 = '//*[@text="效果"]' gv.swipe_ele(ele2, ele1) gv.swipe_ele(ele3, ele2) gv.shape_content_align(type, '右对齐', '下对齐') gv.shape_content_align(type) gv.shape_content_align(type, '水平居中', '垂直居中') time.sleep(3)
def test_shape_attr1(self, file_type): # 文本框字符属性 logging.info('==========test_shape_attr1==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) x1, y1 = 0, 0 if file_type == 'ss': ss = SSView(self.driver) x1, y1, w, h = ss.cell_location() self.driver.find_element( By.ID, 'com.yozo.office.en:id/formulabar_ok').click() gv.group_button_click(' Insert ') gv.insert_shape(file_type) time.sleep(1) x, y = gv.find_pic_position('drag_all') gv.tap(x, y) # 进入编辑 gv.pop_menu_click('editText') if file_type == 'ss': gv.fold_expand() gv.fold_expand() x, y = gv.find_pic_position('drag_all') gv.tap(x, y) # 进入编辑 gv.pop_menu_click('editText') for i in range(50): self.driver.press_keycode(random.randint(7, 16)) if file_type == 'pg': gv.tap(250, 250) gv.tap(550, 850) elif file_type == 'ss': gv.tap(x1, y1) gv.tap(x, y) else: gv.tap(250, 450) time.sleep(1) gv.fold_expand() gv.tap(x, y) time.sleep(1) gv.fold_expand() gv.shape_option(file_type, 5, width=5, height=5) gv.shape_option(file_type, 6, top=0.5, bottom=0.5, left=0.5, right=0.5) ele1 = '//*[@text=" Shape "]' ele2 = '//*[@text=" Outline "]' ele3 = '//*[@text=" Effect "]' if file_type == 'pg': ele0 = '//*[@text=" Insert "]' gv.swipe_ele(ele0, ele1) gv.swipe_ele(ele2, ele1) gv.swipe_ele(ele3, ele1) gv.shape_content_align(file_type, '右对齐', '下对齐') gv.shape_content_align(file_type) gv.shape_content_align(file_type, '水平居中', '垂直居中') time.sleep(3)
def test_insert_shape(self): logging.info('==========test_insert_shape==========') cv = CreateView(self.driver) cv.create_file('ss', 0) gv = GeneralView(self.driver) ss = SSView(self.driver) ss.insert_chart() gv.insert_shape('ss')
def test_insert_shape(self, file_type): logging.info('==========test_insert_shape==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) ss = SSView(self.driver) # ss.insert_chart() gv.group_button_click(' Insert ') gv.insert_shape(file_type) for i in range(5): gv.shape_insert(file_type, 6, random.randint(1, 42)) time.sleep(3)
def test_insert_shape(self, type): logging.info('==========test_insert_shape==========') cv = CreateView(self.driver) cv.create_file(type) gv = GeneralView(self.driver) ss = SSView(self.driver) # ss.insert_chart() gv.group_button_click('插入') gv.insert_shape(type) for i in range(42): gv.shape_insert(type, 6, i) time.sleep(3)
def test_pop_menu_shape(self, file_type='wp'): logging.info('==========test_pop_menu_shape==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) gv.group_button_click(' Insert ') gv.insert_shape(file_type) time.sleep(1) if file_type == 'pg': gv.tap(550, 450) gv.pop_menu_click('editText') else: gv.tap(700, 700, 2) gv.tap(700, 700, 3) for i in range(50): self.driver.press_keycode(random.randint(29, 54)) if file_type == 'pg': gv.drag_coordinate(550, 830, 500, 800) gv.pop_menu_click('copy') gv.tap(550, 830) time.sleep(1) gv.long_press(550, 830) gv.pop_menu_click('paste') gv.drag_coordinate(550, 830, 500, 800) gv.pop_menu_click('cut') gv.tap(550, 830) time.sleep(1) gv.long_press(550, 830) gv.pop_menu_click('paste') gv.drag_coordinate(550, 830, 500, 800) gv.pop_menu_click('delete') else: gv.drag_coordinate(700, 700, 550, 550) gv.pop_menu_click('copy') gv.tap(700, 700) time.sleep(1) gv.long_press(700, 700) gv.pop_menu_click('paste') gv.drag_coordinate(700, 700, 550, 550) gv.pop_menu_click('cut') gv.tap(700, 700) time.sleep(1) gv.long_press(700, 700) gv.pop_menu_click('paste') gv.drag_coordinate(700, 700, 550, 550) gv.pop_menu_click('delete')
def test_undo_redo(self, file_type): # 撤销、重做 logging.info('==========test_undo_redo==========') cv = CreateView(self.driver) gv = GeneralView(self.driver) cv.create_file(file_type) self.driver.find_element( By.ID, 'com.yozo.office.en:id/yozo_ui_toolbar_button_undo') # 判断页面是否已切过来 gv.group_button_click(' Insert ') gv.insert_shape(file_type, 1) gv.fold_expand() gv.undo_option() time.sleep(1) gv.redo_option() time.sleep(1) gv.undo_option() time.sleep(1) logging.info('capture before undo') gv.getScreenShot4Compare('before_undo') gv.redo_option() time.sleep(1) logging.info('capture before redo') gv.getScreenShot4Compare('before_redo') gv.undo_option() if file_type == 'ss': gv.fold_expand() gv.fold_expand() time.sleep(1) logging.info('capture after undo') gv.getScreenShot4Compare('after_undo') gv.redo_option() time.sleep(1) logging.info('capture after redo') gv.getScreenShot4Compare('after_redo') result1 = gv.compare_pic('before_undo.png', 'after_undo.png') result2 = gv.compare_pic('before_redo.png', 'after_redo.png') self.assertLess(result1, 100, 'undo fail!') self.assertLess(result2, 100, 'redo fail!')
def test_shape_attr2(self, file_type): logging.info('==========test_shape_attr2==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) gv.group_button_click(' Insert ') gv.insert_shape(file_type, 6, 10) gv.shape_option(file_type, 2) gv.shape_fill_color(file_type, 6, 24) gv.shape_fill_color_transparency(5) ele1 = '//*[@text=" Shape "]' ele2 = '//*[@text=" Outline "]' if file_type == 'pg': ele0 = '//*[@text=" Insert "]' gv.swipe_ele(ele0, ele1) gv.swipe_ele(ele2, ele1) gv.shape_border_color(file_type, 6, 5) gv.shape_border_type(file_type, 6, 3) gv.shape_border_width(file_type, 6, 5) gv.shape_effect_type(file_type, 6, 4, 5) time.sleep(1)
def test_shape_attr(self, file_type): logging.info('==========test_shape_attr==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) gv.group_button_click(' Insert ') gv.insert_shape(file_type, 6, 30) gv.shape_insert(file_type, 6, 31) gv.shape_insert(file_type, 6, 32) gv.shape_insert(file_type, 6, 33) ele1 = '//*[@text=" Shape "]' ele2 = '//*[@text=" Outline "]' ele3 = '//*[@text=" Effect "]' if file_type == 'pg': ele0 = '//*[@text=" Insert "]' gv.swipe_ele(ele0, ele1) gv.swipe_ele(ele2, ele1) gv.swipe_ele(ele3, ele1) gv.shape_layer(' Send Backward ') gv.shape_layer(' Send to Back ') gv.shape_layer(' Bring Forward ') gv.shape_layer(' Bring to Front ')
def test_pop_menu_shape1(self, file_type): logging.info('==========test_pop_menu_shape1_ws==========') cv = CreateView(self.driver) cv.create_file(file_type) gv = GeneralView(self.driver) if file_type == 'pg': pg = PGView(self.driver) gv.group_button_click(' Edit ') pg.edit_format('空白') time.sleep(1) gv.group_button_click(' Insert ') gv.insert_shape(file_type) gv.fold_expand() x1, y1 = gv.find_pic_position('drag_all') gv.drag_coordinate(x1, y1, x1 - 100, y1) x1, y1 = gv.find_pic_position('drag_all') gv.drag_coordinate(x1, y1, x1 + 100, y1) x1, y1 = gv.find_pic_position('drag_all') gv.drag_coordinate(x1, y1, x1 - 50, y1 - 50) x2, y2 = gv.find_pic_position('drag_all1') gv.drag_coordinate(x2, y2, x2, y2 - 100) x2, y2 = gv.find_pic_position('drag_all1') gv.drag_coordinate(x2, y2, x2, y2 + 100) x2, y2 = gv.find_pic_position('drag_all1') gv.drag_coordinate(x2, y2, x2 - 50, y2 - 50) x, y = gv.find_pic_position('rotate_free') gv.drag_coordinate(x, y, x + 50, y + 50)