Appium appium 如何用一个脚本,控制两个手机,多线程怎么用呢?我用的是 testng 运行。谢谢指教!

xukaili · 2017年02月17日 · 最后由 paul 回复于 2017年03月07日 · 3913 次阅读

实现一个脚本控制两部手机,一个打电话,另一个接听电话,

共收到 10 条回复 时间 点赞

使用命令开启 appium 服务。
npm install -g appium(命令安装的是 1.5.3)
举例:
1、在一个终端运行 appium -p 4723 -bp 4724 --session-override
2、在另一个终端运行 appium -p 4725 -bp 4726 --session-override
对应脚本的端口是 4723 和 4725。

aylin 回复

谢谢你的帮助,我的问题已解决,这几天在忙别的事情,恢复晚了,很抱歉。
请问你知道怎么拖动元素滑动吗?我只找到了滑坐标的方法。

xukaili 回复

https://testerhome.com/topics/3711 这里头找找。swipe, scroll, flick, drag_and_drop 都可以

@aylin 大神 能贴下 你多线程的代码不 非常感谢 跪求

@xukaili 楼主能贴下你的多线程 代码不

@xukaili
el = driver.find_element_by_id(" ")
elx=el.location.get('x')
ely=el.location.get('y')
driver.tap([(elx,ely)],duration)
这是我的办法亲测可行,想几秒就几秒
能看看你多线程代码吗?我弄得多线程,会因为不同手机的配置无法同步进行,总有个延迟先后

@yxrs89 比如我要拖动到某个地方呢 需要怎么操作

aylin 回复

我是在一个脚本里设置了两个 driver,但是 driver 切换的时候总是报错,有时成功,有时报 session not found 的错误,我自己调试了两天了也没办法,请问你有没有解决的办法呢?

paul 回复

我的代码报错了,等我改完会贴出来

@Tester_web @xukaili sorry,好囧,昨天贴错代码,把长按事件代码贴进来了,滑动事件就按照坐标来滑动,传个起始坐标和结束坐标
def swipe(self, slocation, elocation):
"""
滑动
分别为:起始点 x,y。结束点 x,y。与滑动速度。滑动默认 900
将 slocation 和 elocation 以逗号进行 1 次分割
"""
st, sy = slocation.split(',', 1)
ex, ey = elocation.split(',', 1)
return self.driver.swipe(st, sy, ex, ey, duration=900)

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