最近有点忙,帖子也没来更新
这个方案只是自己闭门造车做的,而且很多细节,很多问题也没时间去解决,现在放出来只是起个抛砖引玉的作用,看看别人家是怎么做的。
很多时候, 兼容性问题很让我们头疼,偏偏是那么个别的机型,总跟我们过不去。 而网上的云测,领导是不放心的。
有时候很多机型闲置也是种资源浪费。
实现这个的思路很简单,我之前有搭建过 Robotium 的测试框架,采用的是 pageobject 的模式,然后用 spoon 分发。
论坛里面有 spoon 的教程 :
配合 Robotium 多设备分发测试,生成测试结果
spoon+robotium+jenkins 进行自动化持续回归测试
然后用两个 "一拖四" (学名:USB 集线器) 来跑。
淘宝上买的,2 个才 20 块钱。
当时不知道一台电脑能同时跑几个手机终端 (本人联想台式机, 10G 内存,两个前置 USB 口), 后面打听了一下,这个跟主板的电压有关。
开始尝试。
测试的产品是账号互斥的。 就想了个法子,在脚本中增加一个读 sdcard 文件的函数, 然后把账号写到 sdcard 里面。
adb push C:\Users\tangguo\Desktop\build\number.txt /sdcard/number.txt
方法虽然很土,但是解决了账号互斥的问题。
一个登录的 case:
package com.tangguo.testcases;
import org.testng.annotations.Test;
import com.tangguo.action.addfriendsaction;
import com.tangguo.action.chataction;
import com.tangguo.action.loginlogout;
import com.tangguo.test.Page;
public class login extends loginlogout {
public login() throws ClassNotFoundException {
super();
}
public void testloginandout() throws ClassNotFoundException {
Page page = new Page();
String a=page.read();
Object[] as= page.splitstring(a);
loginandout(as[0].toString(), as[1].toString());
}
}
然后跑 case, 跑出来的结果如下:
以上是一个一拖四跑出来的结果。
请大家无视掉 case 的成功率和报告乱码的问题。case 失败这么多是因为我的脚本很久没更新了,产品已经改得面目全非了,账号互斥的问题似乎没有得到很好的解决。
现在一台机跑两个一拖四 (八台手机) 没啥问题,但是跑的步调不一致,可能跟手机性能有关系, 跑起来比较慢。如果一个跑两台手机 (两个总共跑四台手机),明显流畅很多。
现在还有几个问题我还没有完全解决:
好了,帖子就写这么多了,各位大神们是怎么做的呢?