查阅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
绘制手势密码
大家也可以根据自己项目的实际需要,修改方法中的参数值。