Windows自动化9️⃣输入法切换+截图断言

输入法问题: 如果输入某个东西, 卡在输入法上 : 可以设置输入法为英文输入法

# 切换为英文输入法
def shift_en(element):

    flag = True
    while flag:
        user32 = ctypes.WinDLL('user32', use_last_error=True)
        curr_window = user32.GetForegroundWindow()
        thread_id = user32.GetWindowThreadProcessId(curr_window, 0)
        klid = user32.GetKeyboardLayout(thread_id)
        lid = klid & (2 ** 16 - 1)
        lid_hex = hex(lid)
        # print(lid_hex)
        if lid_hex == '0x409':
            # print('当前的输入法状态是英文输入模式\n')
            flag = False
        elif lid_hex == '0x804':
            # print('当前的输入法是中文输入模式\n')
            element.send_keys(Keys.META, Keys.SPACE)
            # print('建议删除多余输入法,只保留两种输入法\n')
        else:
            element.send_keys(Keys.META, Keys.SPACE)
            print('当前的输入法既不是英文输入也不是中文输入\n建议删除多余输入法,只保留两种输入法')
        time.sleep(1)

一些 难以断言的 可以使用图片进行截图保存, 运行完后, 查看图片,图片命名最好带时间戳, 方便后续图片也能存储,不至于重名

    @pytest.mark.run(order=700003)
    @allure.title("查看截图、录屏默认快捷键")
    def test_查看截图_录屏默认快捷键(self):
        try:

            # 上一次是为了避免, 滚轴在下方所以关闭,重新来第二次
            # 点击头像
            self.driver.find_element(By.XPATH, '//Pane[@Name="Hwork"]/Document[@Name="Hwork"]/Image').click()
            self.driver.find_element(By.XPATH,
                                     '//Pane[@Name="Hwork"]/Document[@Name="Hwork"]/ToolTip/Text[@Name="设置"]').click()
            ActionChains(self.driver).move_to_element(self.driver.find_element(By.XPATH,
                                                                               '//Pane[@Name="Hwork"]/Document[@Name="Hwork"]/ComboBox')).perform()
            pyautogui.scroll(-400)
            time.sleep(1)
            pyautogui.scroll(-400)


            time.sleep(1)

            photo = self.driver.find_element(By.XPATH,
                                     '//Pane[@Name="Hwork"]/Document[@Name="Hwork"]/Edit[@Name="点击设置快捷键"]').screenshot_as_png

            time
            filepath = get_photopath() + "\\test_WinPC\\photo\\" + "设置PC_查看截图_录屏默认快捷键"+time.strftime('%Y%m%d_%H%M%S')+".png"
            print(filepath)
            # 将二进制保存成图片形式
            file = open(filepath, "wb")
            file.write(photo)

            self.driver.find_element(By.XPATH,
                                     '//Pane[@Name="Hwork"]/Document[@Name="Hwork"]/Text[@Name="设置"]//following-sibling::Image').click()

        finally:
            self.driver.close()

你可能感兴趣的:(windows,自动化)