Appium 兼容性测试平台公开课_学院&腾讯

思寒_seveniruby for 霍格沃兹测试学院外部交流圈 · June 05, 2019 · Last by 问世花妖 replied at June 19, 2019 · 1949 hits

6月5日晚8点正式开始

参考连接

兼容性问题例子

STF搭建

brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
npm install -g stf

开启简单的本地开发环境

rethinkdb &
stf local --public-ip=0.0.0.0

生产环境使用docker解耦部署,具体可参考官方文档

模拟器启动

emulator有个bug,需要进入所在目录才可以执行命令,使用这个命令可以解决

$(dirname $(which emulator))/emulator -list-avds
$(dirname $(which emulator))/emulator @设备名

通过STF API远程连接

#首先设置三个变量
STF_TOKEN=740574b01a2643e4a7b2ea0ffcf4bcd9ce5d29e12be94f5c8b29698ddca449d0
STF_URL=http://localhost:7100
DEVICE_SERIAL=

demo脚本

localhost:stf seveniruby$ cat  stf.sh
#!/usr/bin/env bash

STF_TOKEN=9d06d1b4dae94c88863138bac8bf50369be151b812a44215b19e0b4f137b13fb
STF_URL=http://localhost:7100
DEVICE_SERIAL="demo"

function add_device
{
response=$(curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer $STF_TOKEN" \
--data "{\"serial\": \"$DEVICE_SERIAL\"}" $STF_URL/api/v1/user/devices)

success=$(echo "$response" | jq .success | tr -d '"')
description=$(echo "$response" | jq .description | tr -d '"')

if [ "$success" != "true" ]; then
echo "Failed because $description"
echo exit 1
fi

echo "Device $DEVICE_SERIAL added successfully"
}

function remote_connect
{
response=$(curl -X POST \
-H "Authorization: Bearer $STF_TOKEN" \
$STF_URL/api/v1/user/devices/$DEVICE_SERIAL/remoteConnect)

success=$(echo "$response" | jq .success | tr -d '"')
description=$(echo "$response" | jq .description | tr -d '"')

if [ "$success" != "true" ]; then
echo "Failed because $description"
echo exit 1
fi
remote_connect_url=$(echo "$response" | jq .remoteConnectUrl | tr -d '"')

adb connect $remote_connect_url

echo "Device $DEVICE_SERIAL remote connected successfully"
}

function remove_device
{
response=$(curl -X DELETE \
-H "Authorization: Bearer $STF_TOKEN" \
$STF_URL/api/v1/user/devices/$DEVICE_SERIAL)

success=$(echo "$response" | jq .success | tr -d '"')
description=$(echo "$response" | jq .description | tr -d '"')

if [ "$success" != "true" ]; then
echo "Failed because $description"
echo exit 1
fi

echo "Device $DEVICE_SERIAL removed successfully"
}

every_device(){
#获得可用设备列表
devices=$(curl -H "Authorization: Bearer $STF_TOKEN" $STF_URL/api/v1/devices | jq -r '.devices[] | select(.present==true)|.serial ')
for DEVICE_SERIAL in $devices
do
add_device
remote_connect
sleep 2
device=$(adb devices | grep : | awk '{print $1}' | head -1)
adb devices
eval $1
adb disconnect $device
sleep 2
adb devices
remove_device
done
}

常用脚本

every_device(){
#获得可用设备列表
devices=$(curl -H "Authorization: Bearer $STF_TOKEN" $STF_URL/api/v1/devices | jq -r '.devices[] | select(.present==true)|.serial ')
for DEVICE_SERIAL in $devices
do
add_device
remote_connect
eval $1
adb disconnect
remove_device
done
}

every_device echo \$DEVICE_SERIAL

使用遍历工具

  • monkey
  • maxim
  • appcrawler
  • appium

兼容性测试结果

TODO

兼容性测试服务SAAS

TODO

抽奖

作业一

  • 使用腾讯WeTest的兼容性测试,完成自己公司app的兼容性测试初体验,给出一个带有bug的可分享的测试报告连接,贴到本帖下

作业二

  • 使用STF完成多设备的自动遍历测试

top3完成作业的同学可分别获赠腾讯定制礼品

  • 腾讯定制充电宝
  • QQ公仔
  • 鼠标垫+QQ公仔钥匙扣
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 32 条回复 时间 点赞

问题

1、自己写测试框架的时候,代码中如何实现 ios多版本、Android多版本的兼容,请老师讲一下思路

2、实际的工作中,自己写测试框架的时候, 定位符、操作行为、输入数据,通常把这些数据保存到 yaml中,还是数据库? 如果保存到数据库,那岂不是要测试人员创建数据库、数据表,插入数据,或者让DBA创建?

能不能出个基于jenkins的并发自动化兼容测试教程呢???

  • 对于没有兼容性测试经验的公司选择第三方兼容性公司合作有什么需要注意的

云测兼容自动化测试的原理步骤之类的能讲一下么?

jz 回复

m

有没有遇到adb连接不稳定的情况,频繁的不明原因的offline了,禁止手机和电脑的锁屏仍然存在,需要手工插拔甚至重启

这个问题发现在小米手机+Ubuntu PC

腾讯wetest的iOS接入平台用的什么框架,对于自建平台来说,当前节点用什么框架搭建,stf还不支持iOS吧

小程序的兼容性和不同的系统(安卓、IOS)、系统版本有关系吗

快捷应用的兼容,该怎么怎么兼容,因为没有具体的Actvitity

除了 app UI 层 功能层的兼容性测试,某些专项测试如不同网络环境的兼容性有高效的解决方案吗

我们公司的app经常出现闪退,崩溃,无响应的问题,换包也比较频繁,怎么测试比较好?

请问有方法可以提高I/O效率吗?

Uzuki 回复

好聪明,没完成测试,先分享链接了👍

你们也太快了吧,我选的100台,慢了慢了

老师原谅我不能完成作业了,因为,WeTest注册有个bug,我注册的时候,叫我绑定手机,绑定了手机号,提示我选择职业,我选择了,没有反应,点击跳过,接口报错,完善信息填写不完整,我都是跟着他的注册步骤走的,他叫我填写的我的填写了,

https://wetest.qq.com/cloud/report/result?testid=52f40cabf771824ae0b2b5ccf7ba99dc#0
测了两次,要提交报告的时候,显示新手用户22点~9点不可回帖,哭了

表示都已实现,项目使用都快1年了~遍历使用是monkey和内部开发工具。腾讯wetest 适合游戏~广告贴,哈哈

mac上安装stf一堆错,卸载重装了好几次,不知道怎么解决

3台没通过,虽然拿不到什么奖品了,但是也要保持一颗积极的心😁 https://wetest.qq.com/cloud/report/result?testid=4a84ab0d2cbd68c3b6b9dad5d4e703a0#0

吴梦 回复

node的版本太高,用@8版本就可以

ovwane [Topic was deleted] 中提及了此贴 06 Jun 13:18
问世花妖 回复

您好,我是腾讯WeTest的工作人员,对于您的注册BUG的问题我们建议您切换Chrome浏览器注册试试,如果还有问题可以直接联系在线客服看看~

qian · #31 · June 07, 2019
Author only
Uzuki 回复

同学,微信私聊我下。18500610213 我搜集下地址,准备发放奖品了

腾讯WeTest 回复

你好,我使用的就是chrome浏览器,我刚刚开始以为是电脑的问题,但是我使用公司的电脑注册还是一样的

思寒_seveniruby 第九期_智能设备实验室_20190622 中提及了此贴 22 Jun 16:28
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up