Appium Python+Appium 测试多个 app 的情况下如何进行 apk 之间的切换

honeybadger · 2015年07月06日 · 最后由 honeybadger 回复于 2015年07月07日 · 3595 次阅读

目前在进行一个小项目,想用一台电脑控制多台手机进行测试。 问题是:

  • 测试用例中需要进行多个 app 的顺序测试, 所以如何在第一个 app 测试完之后切换到第二个 app 进行测试?
    目前我发现的方案是需要开启另外一个 appium server, 所以想问各位,是否能在一个 appium 的 server 中实现多个 app 测试的切换? 因为如果不能的话, 一个测试用例要开 3 个 appium servers, 那么 5 台手机同时测试,需要开 15 个 appium servers...

  • 并发测试在 python 中可以用 multiprocessing 来解决,但是如果测试用例需要集成到 robotframework 中,我在想如何在 robotframework 的接口中进行并发...这个问题不是最主要的。

共收到 12 条回复 时间 点赞

目前了解跨应用测试框架比较好用的就是 Uiautomator。appium 的 看楼下回复,我也学习下

点桌面快捷方式
driver.startActivity()

最简单,你退到桌面,然后点坐标启动另外个应用就好了。。。

首先想问清楚以下几点:

  1. 你是一台电脑同时运行多个用例,不同用例使用不同机器(相当于云测),还是一个用例里面就得用到不同机器?
  2. 你说的切换到第二个 app 里测试,是你用例里面,被测 app 会调用其他外部 app ?还是你的用例里面本来就需要分别启动两个 app ?

#3 楼 @eurekasaber 谢谢啊, 已经明白了。你的回答应该是正解。 再追问一下,我启动的第二个 app 是 chrome 浏览器, 里面的 appActivity 似乎找不到啊.........试过 appt dump badging 了, dump 出来居然找不到 launable activity...

#4 楼 @chenhengjie123

我的用例只有一个称作 TC1, 只是在 TC1 中先要打开手机里面的 app_A,后打开 app_B, 再打开 app_C....。 这个用例里面只会用到一台手机。

但是我会在一台电脑上连接 5 台手机, 5 台手机同时运行 TC1。。。开始测试。

#5 楼 @honeybadger 实际启动下,看下 logcat 吧

#7 楼 @eurekasaber 嗯, logcat 看到了, 是这个 com.google.android.apps.chrome.ChromeTabbedActivity, 多谢多谢!

#6 楼 @honeybadger 那就在 case 里通过 start_activity 来切换应用,通过多个 appium server(1 个对应一台手机)来运行测试。

robotframework 并发的话多开不行吗?它规定了同一时间只能有一个 robotframework 在运行?

#9 楼 @chenhengjie123 谢谢啊,robotframework...并发, 你是指同时运行 5 个 robotframework 么?还是有其他的库?

#10 楼 @honeybadger 同时运行 5 个 robotframework 。你可以试试。

#11 楼 @chenhengjie123 额,也是一种可行的方案

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