只有 root 手机这条出路
tcpdump 表示呵呵
其实也都是 title 而已,都是测试,只是看业务需要什么样的测试,采用最合理的测试方式。
把代码发给你看如果你不懂 SSO 也没用,其实 SSO 没那么复杂,我这里时间比较宽裕,我记得好像就用了一天看了一下 SSO,一天看了下 STF 平台,然后用了两天时间改了一下,然后用了一天测试了一下。先了解 SSO 就行了,把跳转改一下。好久之前写的代码,虽然是我写的,但我记性不好,至于怎么实现,什么是 SSO,别问我为什么,因为我忘了。
PS:大小括号是不全的,所以只供你参考。
app.get('/', function(req, res) {
res.redirect('/auth/mock/')
})
app.get('/auth/mock/',function(req,res){
if(!req.cookies.admin_key){
res.status(200)
.json({
success: false
, redirect: 'http://sso.oa.com/Index/login/appid/1111/'
})
}
else{
var urlpath='/api?do=getInfo&appid='+1111+'&uid='
+req.cookies.admin_uid+'&key='+encodeURIComponent(req.cookies.admin_key)
log.info('urlpath:',urlpath)
var opts = {
host: 'sso.oa.com',
port: 8888,
path: urlpath,
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}
log.info('opts',opts)
var req = http.request(opts,function(res){
res.setEncoding('utf8')
res.on('data',function(chunk){
log.info('aaaa',chunk)
ssoreturn(chunk)
})
})
req.end()
function ssoreturn(chunk){
var chunkjson=JSON.parse(chunk)
var token = jwtutil.encode({
payload: {
email: chunkjson.email
, name: chunkjson.username
}
, secret: options.secret
})
log.info('chunk',chunkjson)
log.info('chunk ret',chunkjson.ret)
if(chunkjson.ret == 1){
res.status(200)
.json({
success: true
, user_name: chunkjson.username
, redirect: urlutil.addParams(options.appUrl, {
jwt: token
})
})
}
else{
log.info('redirect.......')
res.status(200)
.json({
success: false
, user_name: chunkjson.username
, redirect: 'sso.oa.com'
})
}
}
看不懂 STF 的 auth2.0 的用法,我是直接把 mock 认证改成 sso,sso 无非是个跳转而已。
赞同你的观点
好像不是 fork_server 引起的,是-a 参数引起的。adb 那块我没时间去看源码,目前临时解决方案就是使用 1.0.32 版本。
可惜没在深圳。
海淘的都是有钱人啊,我因为海淘不起才选择 ORICO,虽然也很贵。
那你做 STF 也失出了它的意义。不建议这样做。另外模拟器没有序列号!
所有手机的安装写个 uiautomator,然后自动化去点击或者输入。
为什么要使用模拟器?模拟器有序列号?
什么叫 usb 抖动?没有听说过。我不是写了一篇 USB 连接相关的么?
为了提升下逼格要赶紧多写几篇精华贴
传说中的机械臂,然而并不觉得是一个很好的方案。
我这边使用的 stf 那套分布式方案,所以是不能重启 ADB。我要保证连接上的手机一定是稳定的,不会出现掉线的问题。目前在 ubuntu 上面没有出现过识别不了手机 serial 的情况。你可以试下 ubuntu 看会不会出现这种问题。在我的 windows 上面也会出现识别不了手机的情况出现,我记得好像是 adb 1.0.31 版本。后面换成新的 1.0.39 版本就不出现了。我之所以发这篇文章目的就是想说没必要去重启 ADB 或者是 USB。
我也想接私活,然而并没有。
不错不错,很实用。
我认为 adb 掉线的原因是电源供电不足,这是其一,后面我在 STF 官网上面看到他们的分析另一个原因是 usb3.0 驱动与 adb 间的问题,只要选择使用 usb2.0 的 usb-hub 就可以了。已经通过实践证明,双管齐下后 usb 都很正常。
颈椎的可以买那种叫做颈椎牵引床,每天坚持做,三个月左右会好转
appium 我们这边的做法是把 appium 所需要安装的东西全部拿出来,自己写了个 uiautomator 脚本来点击的允许安装或者授权安装,并把 appium 所有 adb 操作都注释掉,麻烦的就是需要针对不同手机需要多做几个不同的字段判断。目前大多数手机都能安装相关的应用。
试下把 ‘电源’ 调成高性能模式。
未来,功能测试可能会被 AI 给代替,但我觉得如果 AI 真他妈的做得这么智能,人类都要被替代!!!
1、oppo 只是举个例子,国内还有各大恶心厂商的各种定制,让你我欲仙欲死。我不知道你的平台手机有多大规模,我这边已经有 150 台左右的机器,整得我生不如死。
2、那个手机初始化环境是,你可能会安装一些测试用的 APK,需要检测 APK 的安装情况,或者 wifi,又或者是有没有 monkey 脚本/自动化脚本在执行,由于我代码能不太行,所以程序经常会挂掉,所以我还做了结束所有测试任务的初台化
其实我也是在开发平台的,你这里写的我觉得还有些补充。
1.手机初始化操作,比如检查手机环境
2.安装 apk,不同的手机会有不同的安装点击事件,比如 oppo 这个坑爹的手机,要输帐号密码
3.开关 wifi
4.日志过滤规则
5.最后还原环境的时候需要做一些删除缓存,还有关 wifi
PS:最近想做遍历测试,估计一堆坑,我还不敢往里面踩,如楼主有更好的方法可以再写个分享么?