Appium 移动应用的测试在屏幕上用画笔写字画线等用什么实现?

梁慧玲 · 2016年07月21日 · 最后由 Ambers 回复于 2017年04月12日 · 2371 次阅读

我们有一个应用是给老师用的,给孩子批改作业的时候会用笔在屏幕上判对错,这个我要用 appium 模拟画线写字怎么实现呢?
应用截图如下:

uiautomatorviewer 查看如下:

我的测试代码如下:

def test_19_DrawWork(self):

        # self._driver.tap([(1156, 300), (1156, 1200)], 200)
        self._driver.flick(1165, 330, 1165, 1200)
        time.sleep(1)
        self._driver.swipe(1273, 397, 1273, 1397, 200)
        time.sleep(1)
        self._driver.swipe(1800, 318, 1800, 1318, 1000)
        time.sleep(5)

现在代码用 swipe,flick 都没有笔迹,可是手滑动的话是有笔迹的,就像图片那样,求各位大神帮忙看看是什么原因?

共收到 17 条回复 时间 点赞

斜线 试试

#1 楼 @dongdong 一样,我开着指针的话能看到指针滑动,可是没有笔迹

#2 楼 @nancy2896 你的起点是不是有问题....1000 多的 width?

#3 楼 @dongdong 我用的是三星的 pad 大屏幕

划线不是这样的吧。。用 touchaction,官方有个画笑脸的 sample 的

滑动时直线,划线不是直线的,应该不能用 swipe

#7 楼 @niuniudd 画什么都可以,关键是现在不显示笔迹

#7 楼 @niuniudd
TouchAction(self._driver).press(x=1165, y=330).move_to(x=500, y=300).move_to(x=500, y=330).release().perform()
用上这个也还是不行 有指针移动 没有笔迹

猜测一般的接口只是触发普通的移动光标事件,你这个画笔,应该是应用自身的功能事件,可以跟研发聊聊他这个划线的轨迹是如何做的看看有办法没有

drag() 试试

—— 来自 TesterHome 官方 安卓客户端

#11 楼 @UDLD 不行,drag 是拖动元素吧,我这个页面上也没有可以拖动的东西

妹子也加入自动化领域了,感觉应该是触摸的压力值不够的缘故。可以用这个实现下 https://github.com/openstf/minitouch

想请教下你这类型的自动化 case,怎么做断言

#6 楼 @neyo 画笑脸也是一样 只有指针移动 没有笔迹

和相关开发沟通一下实现原理比较好,可能不在一个 frame

我也在纠结 这个问题,请问楼主解决了吗?求教

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册