robotframework-appiumlibrary安卓自动化测试输入手势密码

2021-09-23 18:04:51 浏览数 (2)

查阅robotframework-appiumlibrary在线帮助,没有发现按住滑动的关键字,所以这部分的操作需要自己修改python的库文件,添加相应的操作。

为了便于使用,将此操作封装了一个方法,实现了一种可以根据屏幕像素自动计算参数的实现。

1.添加手势密码关键字

首先,修改python库文件,添加操作关键字。

修改python安装路径下的文件_touch.py,例如:C:UsersXXXAppDataLocalProgramsPythonPython37Libsite-packagesAppiumLibrarykeywords。

增加一个方法:

代码语言:javascript复制
 def huizhishoushimima(self, x1=0, y1=0, x2=0, y2=0, x3=0, y3=0):
        driver = self._current_application()
        action = TouchAction(driver)
        action.press(x=float(x1), y=float(y1)).wait(ms=500).move_to(x=float(x2), y=float(y2)).wait(ms=500).move_to(x=float(x3), y=float(y3)).wait(ms=500).release().perform()

其中,(x1,y1)是起始点坐标,(x2,y2)是转折点坐标,(x3,y3)是结束点坐标。这样可以实现一个简单的折线手势密码。

方法定义成全拼音的模式,可以避免跟类库中的其他方法重名 :P

2. 在Appium中使用

然后,在自动化脚本中使用此关键字。

一般3x3的手势密码九个点,下面的比例可以经过4个点,完成手势密码的绘制。

代码语言:javascript复制
绘制手势密码
    ${screenwidth}    Get Window Width
    ${screenheight}    Get Window Height
    ${x1}    Evaluate    ${screenwidth}*${0.2}
    ${y1}    Evaluate    ${screenheight}*${0.5}
    ${x2}    Evaluate    ${screenwidth}*${0.8}
    ${y2}    Evaluate    ${screenheight}*${0.5}
    ${x3}    Evaluate    ${screenwidth}*${0.8}
    ${y3}    Evaluate    ${screenheight}*${0.65}
    huizhishoushimima    ${x1}    ${y1}    ${x2}    ${y2}    ${x3}    ${y3}

输入手势密码
    click element    //*[contains(@text,'请登录')]
    Wait Until Page Contains    输入手势密码    10
    绘制手势密码

大家也可以根据自己项目的实际需要,修改方法中的参数值。

0 人点赞