Beispiel #1
0
 def test_ss_filter1(self):
     logging.info('==========test_ss_filter1==========')
     gv = GeneralView(self.driver)
     ss = SSView(self.driver)
     cv = CreateView(self.driver)
     cv.create_file(self.file_type)
     gv.group_button_click(' View ')
     self.driver.find_element(
         By.ID,
         'com.yozo.office.en:id/yozo_ui_ss_option_id_filter').click()
     tip = self.driver.find_element(By.ID,
                                    'com.yozo.office.en:id/text_content')
     self.assertTrue(tip != None)
     self.driver.find_element(By.ID,
                              'com.yozo.office.en:id/btn_right').click()
     ss.cell_edit()
     x, y, width, height = ss.cell_location()
     self.driver.press_keycode(15)
     self.driver.press_keycode(7)
     self.driver.press_keycode(7)
     self.driver.press_keycode(7)
     gv.tap(x + width / 2, y - height / 2)
     gv.group_button_click(' View ')
     self.driver.find_element(
         By.ID,
         'com.yozo.office.en:id/yozo_ui_ss_option_id_filter').click()
     state = self.driver.find_element(
         By.ID,
         'com.yozo.office.en:id/yozo_ui_option_group_checkbox_switch').text
     self.assertTrue(state == 'ON')
     print(x, y)
     gv.tap(x + width - 10, y + height)
Beispiel #2
0
    def test_merge_wrap(self):
        logging.info('==========test_merge_wrap==========')
        cv = CreateView(self.driver)
        cv.create_file('ss', 0)
        time.sleep(1)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)  # 双击进入编辑
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        for i in range(20):
            self.driver.press_keycode(45)
        self.driver.find_element(By.ID,
                                 'com.yozo.office:id/formulabar_ok').click()
        cv.drag_coordinate(110 + 263 * 2, 295 + 55 * 2, 110 + 263 * 3,
                           295 + 55 * 2)

        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        ele1 = '//*[@resource-id="com.yozo.office:id/yozo_ui_ss_option_id_font_name"]'
        ele2 = '//*[@text="单元格填充"]'
        ele3 = '//*[@text="数字格式"]'
        ss.swipe_ele(ele2, ele1)
        ss.swipe_ele(ele3, ele2)
        ss.cell_merge_split()
        ss.cell_merge_split()
        ss.cell_auto_wrap()
        ss.cell_auto_wrap()
        time.sleep(3)
Beispiel #3
0
    def test_insert_chart1(self, file_type):
        logging.info('==========test_insert_chart1==========')
        cv = CreateView(self.driver)
        cv.create_file(file_type)
        gv = GeneralView(self.driver)
        ss = SSView(self.driver)

        time.sleep(1)
        if file_type == 'ss':
            x, y, width, height = ss.cell_location()
            for i in range(3):
                cv.tap(x + width * 0.5, y + height * (i + 0.5))
                ss.cell_edit()  # 双击进入编辑
                self.driver.press_keycode(random.randint(7, 16))
            gv.drag_coordinate(x, y + height * 2, x, y)

        gv.group_button_click(' Insert ')
        if file_type == 'pg':
            ele1 = '//*[@text=" Slide "]'
            ele2 = '//*[@text=" Picture "]'
            gv.swipe_ele(ele2, ele1)
        gv.insert_chart_insert(' Column Chart ', random.randint(1, 9))
        gv.chart_color(random.randint(1, 8))
        gv.chart_element(file_type, '大标题', 1, 1, 1)
        gv.chart_element_XY('x', 'x', 0, 1, 1, 1, 1, 1)
        gv.chart_element_XY('y', 'y', 0, 1, 1, 0, 1, 0)
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/yozo_ui_option_back_button').click()
        gv.change_row_column()
        time.sleep(3)
Beispiel #4
0
    def test_pop_cell_row_col1(self):  # 单元格、行、列相关操作
        logging.info('==========test_pop_cell_row_col1==========')
        cv = CreateView(self.driver)
        cv.create_file(self.file_type)
        gv = GeneralView(self.driver)
        ss = SSView(self.driver)
        time.sleep(1)
        x, y, width, height = ss.cell_location()  # 新建默认B8
        ss.cell_edit()  # 进入 Edit
        for i in range(8):
            self.driver.press_keycode(random.randint(29, 54))
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()
        time.sleep(0.5)
        cv.tap(x + width * 0.5, y + height * 0.5)  # 复制粘贴
        gv.pop_menu_click('copy')
        cv.tap(x + width * 1.5, y + height * 1.5)
        cv.tap(x + width * 1.5, y + height * 1.5)
        gv.pop_menu_click('paste')

        cv.tap(x + width * 0.5, y + height * 0.5)
        gv.pop_menu_click('cut')
        cv.tap(x + width * 2.5, y + height * 2.5)
        cv.tap(x + width * 2.5, y + height * 2.5)
        gv.pop_menu_click('paste')

        x, y = gv.find_pic_position('drag_point2')  # 多选单元格
        gv.drag_coordinate(x, y, x + width, y + height)
Beispiel #5
0
    def test_ss_cell_select(self):
        logging.info('==========test_ss_cell_select==========')
        cv = CreateView(self.driver)
        ss = SSView(self.driver)
        cv.create_file('ss')
        ss.cell_edit()
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()
        gv = GeneralView(self.driver)
        gv.group_button_click(' Edit ')
        gv.font_name(self.file_type)
        gv.font_size(23)
        gv.font_style(self.file_type, '加粗')
        gv.font_style(self.file_type, '倾斜')
        gv.font_style(self.file_type, '删除线')
        gv.font_style(self.file_type, '下划线')
        gv.font_color(self.file_type)

        ele = '//*[@resource-id="com.yozo.office.en:id/yozo_ui_option_content_container"]'
        ss.swipe_options(ele, 'up')
        ss.cell_color()
        ss.cell_align('水平居中', '下对齐')
Beispiel #6
0
    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')
Beispiel #7
0
    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_drag_sheet(self):  # sheet拖动
     logging.info('==========test_drag_sheet==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     ss = SSView(self.driver)
     ss.show_sheet()
     ss.add_sheet()
     ss.add_sheet()
     ele1 = ss.get_element('//*[@resource-id="com.yozo.office:id/ll_ss_sheet_item"and @index="0"]')
     ele2 = ss.get_element('//*[@resource-id="com.yozo.office:id/ll_ss_sheet_item"and @index="2"]')
     # ele1 = ss.find_element(By.XPATH, '//*[@resource-id="com.yozo.office:id/ll_ss_sheet_item"and @index="0"]')
     # ele2 = ss.find_element(By.XPATH, '//*[@resource-id="com.yozo.office:id/ll_ss_sheet_item"and @index="2"]')
     ss.drag_element(ele1, ele2)
Beispiel #9
0
    def test_ss_num_format(self):
        logging.info('==========test_num_style==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')
        ss = SSView(self.driver)
        ss.cell_edit()
        self.driver.press_keycode(15)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()

        ss.group_button_click(' Edit ')
        ele = '//*[@resource-id="com.yozo.office.en:id/yozo_ui_option_content_container"]'
        ss.swipe_options(ele, 'up')
        ss.swipe_options(ele, 'up')
        ss.cell_num_format()
Beispiel #10
0
    def test_ss_cell_border(self):  # 遍历边框所有功能
        logging.info('==========test_ss_cell_border==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')

        ss = SSView(self.driver)
        ss.group_button_click(' Edit ')
        ele = '//*[@resource-id="com.yozo.office.en:id/yozo_ui_option_content_container"]'
        ss.swipe_options(ele, 'up')
        ss.swipe_options(ele, 'up')
        ss.cell_border()
Beispiel #11
0
 def test_table_style(self):  # 表格样式
     logging.info('==========test_table_style==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     time.sleep(1)
     cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
     cv.drag_coordinate(110 + 263 * 2, 295 + 55 * 2, 110 + 263 * 3, 295 + 55 * 4)
     ss = SSView(self.driver)
     ss.group_button_click('编辑')
     ele1 = '//*[@text="编辑"]'
     ele2 = '//*[@text="字体颜色"]'
     ele3 = '//*[@text="单元格填充"]'
     ele4 = '//*[@text="数字格式"]'
     ele5 = '//*[@text="插入单元格"]'
     ss.swipe_ele(ele2, ele1)
     ss.swipe_ele(ele3, ele1)
     ss.swipe_ele(ele4, ele1)
     ss.swipe_ele(ele5, ele1)
     ss.table_style()
Beispiel #12
0
 def test_table_style(self):  # 表格样式
     logging.info('==========test_table_style==========')
     cv = CreateView(self.driver)
     cv.create_file('ss', 0)
     time.sleep(1)
     cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
     cv.drag_coordinate(110 + 263 * 2, 295 + 55 * 2, 110 + 263 * 3,
                        295 + 55 * 4)
     ss = SSView(self.driver)
     ss.group_button_click('编辑')
     ele1 = '//*[@resource-id="com.yozo.office:id/yozo_ui_ss_option_id_font_name"]'
     ele2 = '//*[@text="单元格填充"]'
     ele3 = '//*[@text="数字格式"]'
     ele4 = '//*[@text="插入单元格"]'
     ele5 = '//*[@text="设置行高列宽"]'
     ss.swipe_ele(ele2, ele1)
     ss.swipe_ele(ele3, ele2)
     ss.swipe_ele(ele4, ele3)
     ss.swipe_ele(ele5, ele4)
     ss.table_style()
Beispiel #13
0
 def test_table_style(self):  # 表格样式
     logging.info('==========test_table_style==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     time.sleep(1)
     cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
     cv.drag_coordinate(110 + 263 * 2, 295 + 55 * 2, 110 + 263 * 3,
                        295 + 55 * 4)
     ss = SSView(self.driver)
     ss.group_button_click(' Edit ')
     ele1 = '//*[@text=" Edit "]'
     ele2 = '//*[@text=" Font Color "]'
     ele3 = '//*[@text=" Cell Fill "]'
     ele4 = '//*[@text=" Number Format "]'
     ele5 = '//*[@text=" Insert Cell "]'
     ss.swipe_ele(ele2, ele1)
     ss.swipe_ele(ele3, ele1)
     ss.swipe_ele(ele4, ele1)
     ss.swipe_ele(ele5, ele1)
     ss.table_style()
Beispiel #14
0
    def test_ss_cell_edit(self):
        logging.info('==========test_ss_cell_edit==========')
        cv = CreateView(self.driver)
        ss = SSView(self.driver)
        cv.create_file('ss')
        ss.cell_edit()

        gv = GeneralView(self.driver)
        gv.group_button_click(' Edit ')
        gv.font_name(self.file_type)
        gv.font_size(23)
        gv.font_style(self.file_type, '加粗')
        gv.font_style(self.file_type, '倾斜')
        gv.font_style(self.file_type, '删除线')
        gv.font_style(self.file_type, '下划线')
        gv.font_color(self.file_type)

        for i in range(5):
            self.driver.press_keycode(45)
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()
Beispiel #15
0
    def test_insert_chart(self, file_type):  # Insert 图表,仅ss,pg
        logging.info('==========test_insert_chart==========')
        chart_list = [
            ' Column Chart ', ' Bar Chart ', ' Line Chart ', ' Pie Chart ',
            ' Scatter Chart ', ' Area Chart ', ' Doughnut Chart ',
            ' Radar Chart ', ' Bubble Chart ', ' Cylind Chart ',
            ' Cone Chart ', ' Pyramid Chart '
        ]
        cv = CreateView(self.driver)
        cv.create_file(file_type)
        gv = GeneralView(self.driver)
        ss = SSView(self.driver)

        time.sleep(1)
        if file_type == 'ss':
            x, y, width, height = ss.cell_location()
            for i in range(3):
                cv.tap(x + width * 0.5, y + height * (i + 0.5))
                ss.cell_edit()  # 双击进入编辑
                self.driver.press_keycode(random.randint(7, 16))
            gv.drag_coordinate(x, y + height * 2, x, y)

        for i in range(3):
            gv.group_button_click(' Insert ')
            if file_type == 'pg' and i == 0:
                ele1 = '//*[@text=" Slide "]'
                ele2 = '//*[@text=" Picture "]'
                gv.swipe_ele(ele2, ele1)
            gv.insert_chart_insert(chart_list[i], random.randint(1, 9))
            gv.chart_template()
        ele1 = '//*[@text=" Chart "]'
        ele2 = '//*[@text=" Chart Type "]'
        gv.swipe_ele(ele2, ele1)
        gv.shape_layer(' Send Backward ')
        gv.shape_layer(' Send to Back ')
        gv.shape_layer(' Bring Forward ')
        gv.shape_layer(' Bring to Front ')

        time.sleep(3)
Beispiel #16
0
    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)
Beispiel #17
0
    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)
Beispiel #18
0
    def test_pop_menu_cell_text(self):
        logging.info('==========test_pop_menu_cell_text==========')
        cv = CreateView(self.driver)
        cv.create_file(self.file_type)
        gv = GeneralView(self.driver)
        ss = SSView(self.driver)
        time.sleep(1)

        x, y, width, height = ss.cell_location()  # 新建默认B8
        cv.tap(x + width * 0.5, y - height * 5.5)  # 点击B2
        ss.cell_edit()  # 进入 Edit
        for i in range(15):
            self.driver.press_keycode(random.randint(29, 54))
        # time.sleep(1)
        gv.drag_coordinate(x + 200, y - height * 5.5, x + 50, y - height * 5.5)
        gv.pop_menu_click('copy')
        gv.tap(x + width * 0.5, y - height * 5.5)
        gv.pop_menu_click('paste')
        gv.drag_coordinate(x + 200, y - height * 5.5, x + 50, y - height * 5.5)
        gv.pop_menu_click('cut')
        gv.tap(x + width * 0.5, y - height * 5.5)
        gv.pop_menu_click('paste')

        gv.tap(x + width * 0.5, y - height * 5.5)
        gv.pop_menu_click('newline')

        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()
        gv.tap(x + width * 0.5, y - height * 5.5)
        gv.pop_menu_click('fill_data')
        x1, y1 = gv.find_pic_position('fill_down')
        gv.drag_coordinate(x1, y1, x1, y1 + height * 2)

        gv.tap(x + width * 0.5, y - height * 5.5)
        time.sleep(1)
        x2, y2 = gv.find_pic_position('fill_data')
        gv.swipe(x2, y2, x2 - width * 2, y2)
        gv.pop_menu_click('clear_content')
Beispiel #19
0
    def test_cell_border(self):  # 遍历边框所有功能
        logging.info('==========test_cell_border==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')

        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        time.sleep(1)
        self.driver.swipe(200, 1856, 200, 1150, 2000)
        ss.cell_border()
Beispiel #20
0
    def test_num_style(self):
        logging.info('==========test_num_style==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')
        time.sleep(1)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)  # 双击进入编辑
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.press_keycode(15)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        ele1 = '//*[@text="编辑"]'
        ele2 = '//*[@text="字体颜色"]'
        ele3 = '//*[@text="单元格填充"]'
        ss.swipe_ele(ele2, ele1)
        ss.swipe_ele(ele3, ele1)
        ss.cell_num_style()
Beispiel #21
0
    def test_num_style(self):
        logging.info('==========test_cell_border==========')
        cv = CreateView(self.driver)
        cv.create_file('ss', 0)
        time.sleep(1)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)  # 双击进入编辑
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.press_keycode(15)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.press_keycode(7)
        self.driver.find_element(By.ID,
                                 'com.yozo.office:id/formulabar_ok').click()

        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        ele1 = '//*[@resource-id="com.yozo.office:id/yozo_ui_ss_option_id_font_name"]'
        ele2 = '//*[@text="单元格填充"]'
        ele3 = '//*[@text="数字格式"]'
        ss.swipe_ele(ele2, ele1)
        ss.swipe_ele(ele3, ele2)
        ss.cell_num_style()
Beispiel #22
0
    def test_cell_attr(self):
        logging.info('==========test_cell_attr==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')
        time.sleep(1)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)  # 双击进入编辑
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.press_keycode(45)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        time.sleep(1)
        self.driver.swipe(200, 1856, 200, 1150, 2000)
        ss.cell_align('水平居中', '下对齐')
Beispiel #23
0
    def test_formula(self):
        logging.info('==========test_formula==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')
        time.sleep(1)
        for i in range(10):
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))  # 双击进入编辑
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
            self.driver.press_keycode(random.randint(7, 16))
        ss = SSView(self.driver)

        cv.tap(110 + 263 * 2.5, 295 + 55 * 1.5)  # 求和
        ss.auto_sum('求和')
        for i in range(10):
            time.sleep(1)
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 2.5)  # 平均值
        ss.auto_sum('平均值')
        for i in range(10):
            time.sleep(1)
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 3.5)  # 计数
        ss.auto_sum('计数')
        for i in range(10):
            time.sleep(1)
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 4.5)  # 最大值
        ss.auto_sum('最大值')
        for i in range(10):
            time.sleep(1)
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 5.5)  # 最小值
        ss.auto_sum('最小值')
        for i in range(10):
            time.sleep(1)
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()
        time.sleep(3)
Beispiel #24
0
 def test_ss_filter_by_color(self):
     logging.info('==========test_ss_filter_cd1_none==========')
     ss = SSView(self.driver)
     ov = OpenView(self.driver)
     ov.open_file('screen.xls')
     ss.switch_write_read()
     ss.cell_edit()
     x, y, width, height = ss.cell_location()
     ss.tap(x + width / 2, y - height / 2)
     ss.group_button_click(' View ')
     self.driver.find_element(
         By.ID,
         'com.yozo.office.en:id/yozo_ui_ss_option_id_filter').click()
     x1 = x - width - 18
     y1 = y - height * 3 - 27
     ss.tap(x1, y1)
     self.driver.find_element(By.XPATH, '//*[@text="自定义"]').click()
     self.driver.find_element(
         By.ID, 'com.yozo.office.en:id/tv_filter_color_type').click()
     time.sleep(1)
     self.driver.find_element(By.XPATH, '//*[@text="字体颜色"]').click()
     eles = self.driver.find_elements(
         By.XPATH,
         '//android.support.v7.widget.RecyclerView/android.widget.RelativeLayout'
     )
     eles[random.randint(0, len(eles) - 1)].click()
     self.driver.find_element(
         By.ID, 'com.yozo.office.en:id/tv_ss_filter_ok').click()
     ss.tap(x1, y1, 2)
     self.driver.find_element(By.XPATH, '//*[@text="自定义"]').click()
     self.driver.find_element(
         By.ID, 'com.yozo.office.en:id/tv_filter_color_type').click()
     time.sleep(1)
     self.driver.find_element(By.XPATH, '//*[@text="单元格颜色"]').click()
     eles = self.driver.find_elements(
         By.XPATH,
         '//android.support.v7.widget.RecyclerView/android.widget.RelativeLayout'
     )
     eles[random.randint(0, len(eles) - 1)].click()
     self.driver.find_element(
         By.ID, 'com.yozo.office.en:id/tv_ss_filter_ok').click()
Beispiel #25
0
 def test_sheet_operation(self):  # sheet相关功能
     logging.info('==========test_sheet_operation==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     ss = SSView(self.driver)
     ss.show_sheet()
     ss.hide_sheet()
     ss.show_sheet()
     ss.add_sheet()
     ss.rename_sheet(0, 'test')
     self.assertTrue(ss.check_rename_sheet(0, 'test'))
Beispiel #26
0
 def test_sheet_operation1(self):  # sheet相关功能
     logging.info('==========test_sheet_operation1==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     ss = SSView(self.driver)
     ss.show_sheet()
     ss.operate_sheet(0, 'insert')
     ss.operate_sheet(0, 'copy')
     ss.operate_sheet(0, 'remove')
     ss.operate_sheet(0, 'hide')
     ss.unhide_sheet(0, 0)
Beispiel #27
0
    def test_ss_chart_pop(self):  # 图表相关操作
        logging.info('==========test_ss_chart_pop==========')
        cv = CreateView(self.driver)
        cv.create_file(self.file_type)
        ss = SSView(self.driver)
        gv = GeneralView(self.driver)
        time.sleep(2)
        x, y, width, height = ss.object_position('drag_point1', 'drag_point2')
        ss.tap(x, y)
        time.sleep(2)
        ss.pop_menu_click('edit')
        self.driver.press_keycode(12)
        ss.tap(x, y + height)
        time.sleep(1)

        ss.tap(x, y + height)
        time.sleep(2)
        ss.pop_menu_click('edit')
        self.driver.press_keycode(15)
        self.driver.find_element(
            By.ID, 'com.yozo.office.en:id/formulabar_ok').click()
        # ss.tap(x, y)
        x, y = ss.find_pic_position('drag_point1')
        ss.swipe(x, y, x, y - height)
        time.sleep(1)
        ss.group_button_click(' Insert ')
        gv.insert_chart_insert(' Column Chart ', 2)

        x, y, width, height = ss.object_position('chart_all1', 'chart_all4')
        ss.tap(x, y)
        time.sleep(2)
        ss.pop_menu_click('cut')
        ss.tap(x, y)
        time.sleep(2)
        ss.tap(x, y)
        ss.pop_menu_click('paste')
        ss.tap(x, y)
        time.sleep(2)
        ss.pop_menu_click('copy')
        ss.tap(x, y)
        time.sleep(2)
        ss.pop_menu_click('paste')
        ss.swipe(x, y, x - 100, y + 100)
        x, y = ss.find_pic_position('chart_all1')
        ss.swipe(x, y, x - 100, y - 100)
Beispiel #28
0
    def test_cell_insert_delete_fit(self):  # 插入删除行宽列高清除
        logging.info('==========test_cell_inser_delete_fit==========')
        cv = CreateView(self.driver)
        type = 'ss'
        cv.create_file('ss')
        time.sleep(1)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)  # 双击进入编辑
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        for i in range(20):
            self.driver.press_keycode(45)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()
        ss = SSView(self.driver)
        ss.group_button_click('编辑')
        gv = GeneralView(self.driver)
        gv.font_style(type, '删除线')

        ele1 = '//*[@text="编辑"]'
        ele2 = '//*[@text="字体颜色"]'
        ele3 = '//*[@text="单元格填充"]'
        ele4 = '//*[@text="数字格式"]'
        ele5 = '//*[@text="插入单元格"]'
        ele6 = '//*[@text="删除单元格"]'
        ele7 = '//*[@text="设置行高列宽"]'
        ss.swipe_ele(ele2, ele1)
        ss.swipe_ele(ele3, ele1)
        ss.swipe_ele(ele4, ele1)
        ss.cell_insert('右移')
        ss.cell_insert('下移')
        ss.cell_insert('插入整行')
        ss.cell_insert('插入整列')
        ss.cell_delete('删除整列')
        ss.cell_delete('删除整行')
        ss.cell_delete('上移')
        ss.cell_delete('左移')
        ss.swipe_ele(ele5, ele1)
        ss.cell_set_size(5, 5)
        ss.group_button_click('编辑')
        ss.cell_clear('清除格式')
        gv.undo_option()
        ss.cell_clear('清除内容')
        gv.undo_option()
        ss.cell_clear('清除所有')
        gv.undo_option()
        ss.swipe_ele(ele6, ele7)
        ss.cell_fit_height()
        ss.cell_fit_width()
        time.sleep(3)
Beispiel #29
0
 def test_data_table(self):  # 数据排序,工作表格式
     logging.info('==========test_data_table==========')
     cv = CreateView(self.driver)
     cv.create_file('ss')
     time.sleep(1)
     for i in range(10):
         time.sleep(1)
         cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))  # 双击进入编辑
         cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
         self.driver.press_keycode(random.randint(7, 16))
     ss = SSView(self.driver)
     ss.group_button_click('查看')
     time.sleep(1)
     ss.data_sort('降序')
     ss.data_sort('升序')
     ss.sheet_style('隐藏编辑栏')
     ss.sheet_style('隐藏编辑栏')
     ss.sheet_style('隐藏表头')
     ss.sheet_style('隐藏表头')
     ss.sheet_style('隐藏网格线')
     # ss.sheet_style('冻结窗口') 功能未完成
     # ss.sheet_style('取消冻结')
     ss.sheet_style('100%')
     time.sleep(3)
Beispiel #30
0
    def test_formula1(self):  # 其他类型公式
        logging.info('==========test_formula1==========')
        cv = CreateView(self.driver)
        cv.create_file('ss')
        time.sleep(1)
        for i in range(10):
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))  # 双击进入编辑
            cv.tap(110 + 263 * 1.5, 295 + 55 * (1.5 + i))
            self.driver.press_keycode(random.randint(7, 16))
        ss = SSView(self.driver)

        cv.tap(110 + 263 * 2.5, 295 + 55 * 0.5)
        ss.formula_all('最近使用', 'MAX')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 1.5)
        ss.formula_all('数学和三角', 'ABS')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 2.5)
        ss.formula_all('财务', 'DOLLARDE')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        time.sleep(0.5)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 5.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 3.5)
        ss.formula_all('逻辑', 'AND')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        time.sleep(0.5)
        cv.tap(110 + 263 * 1.5, 295 + 55 * 5.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 4.5)
        ss.formula_all('文本', 'ASC')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 5.5)
        ss.formula_all('日期和时间', 'NOW')
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 6.5)
        ss.formula_all('查找与引用', 'COLUMN')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 7.5)
        ss.formula_all('统计', 'AVERAGE')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        # cv.tap(110 + 263 * 2.5, 295 + 55 * 8.5)
        # ss.formula_all('工程', 'DEC2BIN')
        # cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        # self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 9.5)
        ss.formula_all('信息', 'ISBLANK')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()

        cv.tap(110 + 263 * 2.5, 295 + 55 * 10.5)
        ss.formula_all('所有公式', 'ABS')
        cv.tap(110 + 263 * 1.5, 295 + 55 * 1.5)
        self.driver.find_element(By.ID, 'com.yozo.office:id/formulabar_ok').click()