Hypium中多种进行系统返回键操作方法
====================

#### 问题现象

使用[Hypium](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hypium-python-guidelines#section16890204264419)编写UI自动化用例时，如果某个页面没有返回键按钮，如何模拟系统返回键进行返回操作？

#### 解决方案

_\# -\*- coding: utf-8 -\*-_
from devicetest.core.test\_case import TestCase, Step
from hypium import UiDriver, KeyCode
from hypium.model import UiParam
class TC\_001(TestCase):
    def \_\_init\_\_(self, configs):
        self.TAG = self.\_\_class\_\_.\_\_name\_\_
        super().\_\_init\_\_(self.TAG, configs)
        self.driver = UiDriver(self.device1)
        self.driver\_width, self.driver\_height = self.driver.get\_display\_size()
    def setup(self):
        Step('1.回到桌面')
        self.driver.swipe\_to\_home()
    def process(self):
        Step('2.多种系统返回操作方法')
       _ \# 方法一,通过swipe\_to\_back()方法返回_
        self.driver.start\_app("com.huawei.hmos.browser")
        self.driver.wait(3)
        self.driver.swipe\_to\_back()
      _  \# 方法二,通过go\_back()方法返回_
        self.driver.start\_app("com.huawei.hmos.browser")
        self.driver.wait(3)
        self.driver.go\_back()
      _  \# 方法三,通过press\_key(KeyCode.BACK)方法返回_
        self.driver.start\_app("com.huawei.hmos.browser")
        self.driver.wait(3)
        self.driver.press\_key(KeyCode.BACK)
      _  \# 方法四,通过模拟屏幕边缘向左或向右滑动手势返回，设置起点的相对坐标尽量靠近屏幕边缘，防止操作页面内的控件左滑或右滑_
        self.driver.start\_app("com.huawei.hmos.browser")
        self.driver.wait(3)
        self.driver.swipe(UiParam.RIGHT, distance\=30, start\_point\=(0.01, 0.5))
        self.driver.start\_app("com.huawei.hmos.browser")
        self.driver.wait(3)
        self.driver.swipe(UiParam.LEFT, distance\=30, start\_point\=(0.99, 0.5))
    def teardown(self):
        Step('3.关闭华为浏览器')
        self.driver.stop\_app("com.huawei.hmos.browser")