Appium appium 能同时跑两台 iOS 模拟器进行测试吗?

傅煜 · 2015年01月07日 · 最后由 超爱fitnesse 回复于 2015年01月08日 · 1921 次阅读

我现在在用 appium 做一个 IM 应用的自动化测试,要求要两台机器,一台机器用来发送消息,一台机器用来接收消息,请问一下,appium 能同时跑两台模拟器进行测试吗?

共收到 5 条回复 时间 点赞

这个问题好,关注下,顺便再问下,最多能支持几个模拟器呀?

同问。。我这边实践的效果是只开了一个。

不需要 appium 支持同时跑两台虚拟机的能力,只要能在测试指令中插入执行本地命令的就可以。
然后在一台电脑或两台电脑上启动两个 appium,分别作为客户端 AAA 和客户端 BBB。

具体方法是利用 gearman http://gearman.org/getting-started/ 的同步能力:

客户端 AAA 作为 gearman client,问客户端 BBB:你在哪里?

echo "你在哪里?" | gearman -f receiver_BBB

客户端 BBB 启动一个 gearman worker:receiver_BBB,等待客户端 AAA 提问:

gearman -w -c 1 -f receiver_BBB -- tee /tmp/bbb; cat /tmp/bbb

/tmp/bbb 的内容就是"你在哪里?"

双方不论谁先执行都没有关系,因为 gearman 会保证只有 worker 已启动,并且 client 发出了消息,双方的握手才完成。

下一轮握手:

客户端 AAA 启动一个 gearman worker:receiver_AAA,等待客户端 AAA 回答:

gearman -w -c 1 -f receiver_AAA -- tee /tmp/aaa; cat /tmp/aaa

客户端 BBB 作为 gearman client,回答客户端 BBB:我在pwd

echo "我在这里:`pwd`" | gearman -f receiver_AAA

先说到这里,有人感兴趣,我就再补充。

没看懂楼主想问什么,根据本人测试效果,appium 是单例的,只能启动一个服务。当模拟器 1 执行测试时,启动模拟器 2,会打断模拟器 1,开始执行模拟器 2.

Android 可以 IOS 貌似不行

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