测试之家
  • 社区
  • 问答
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • 注册
  • 登录
新手
alexknight (李雷雷)
第 10110 位会员 / 2016-07-04
Alibaba Group @ 广州
12 篇帖子 • 38 条回帖
19 关注者
2 正在关注
1 收藏
祖国的花朵,社会主义接班人!
打赏支持
GitHub Public Repos
  • qmcflac2mp3 54

    直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制

  • GRPO_KKLogic 7

  • AppiumSandbox 2

    Appium沙箱,无需管appium的环境跟平台差异,无视Native跟H5的context切换,直接用json来写自动化用例,并生成测试报告

  • pydistrub 1

    一个基于gRPC的简单分布式调度框架

  • clashX 0

  • google_camera 0

  • SmartSearcherPlugin 0

  • PySmartSearchBackend 0

  • MyWords_API 0

  • minievents 0

    A minimal event bus library for golang

More on GitHub
  • 個人信息
  • 個人專欄
  • 帖子
  • 回帖
  • 收藏
  • 正在關注
  • 關注者
  • 长沙有测试开发的招聘吗 at 2019年09月09日

    求份简历,发我邮箱:619692290@qq.com,也可以直接跟我沟通,微信:alexinwx,主要是就是我在招人,有什么都可以跟我直接沟通,主要过来做全端的音视频性能测试平台。坐标深圳腾讯。

  • JB 的测试之旅-记一次百度爬虫耗时问题经历 at 2019年02月14日

    看到了 jb 哥

  • 为什么我总是频繁跳槽? at 2019年02月14日

    好浮躁啊,测试行业就是因为楼主这种人太多,技术才会这么烂

  • Android 选择元素时,明明使用的是 find_element_by_id (‘xxx’),查看日志的查找元素 变成了 ["css selector","[id=\"xxx\"]",导致找不到。 at 2018年09月30日

    升级 appium-python 客户端,或者直接改这个包的源码,把所有 w3c 这个 if 判断去掉就行了

  • 基于 LifecycleCallbacks 的 Activity/Fragment 页面加载的耗时统计 (附实现) at 2018年08月18日

    准的,因为是实现了的 Application.ActivityLifecycleCallbacks 的回调,只要你在 onActivityCreated 阶段做一次 B Activity 的启动时间统计,然后在 start 阶段拿到 view 的 focus 作为结束点相减就行了,文章的非 launch activity 启动统计有说明。

  • 基于 LifecycleCallbacks 的 Activity/Fragment 页面加载的耗时统计 (附实现) at 2018年08月16日

    是啊,还在写。。很多功能还没写完。

  • 关于 Appium 效率如何提升,大家都采用什么办法。 at 2017年12月01日

    不可能很快的,appium 都是通过 http 来实现 webdriver 协议,那你每一次调用 api 都是一次 http 请求,如果想稳定性以及效率高点,uiautomator 会比较好,前提是如果能满足你的需求。

  • 如何快速定位 Android 启动测试中的耗时方法 at 2017年09月21日

    随便都能找得到把

  • 如何快速定位 Android 启动测试中的耗时方法 at 2017年09月21日

    没做过 IOS 这块。。。

  • 有没有 jmeter 分布式性能测试在 docker 上做的? at 2017年08月01日

    docker 本身只是一个管理进程,与真实物理机差别就是多了一个 docker 进程而已,除非有具体的测试报告,否则不太信 jmeter 的 docker 容器会比物理机差很多

  • 有没有 jmeter 分布式性能测试在 docker 上做的? at 2017年08月01日

    https://github.com/cagdascirit/docker-jmeter

  • 基于 Docker 的 CI/CD 流水线实践 at 2017年07月07日

    你这样每次新开容器还要去内部改数据库配置挺麻烦的,如果不保存到镜像,容器没了又得启动镜像再改一次。还不如将配置文件挂载到宿主机,或者是在 Dockerfile 的 Entrypoint 或者 CMD 入口点修改 mysql 的配置文件。

  • [上海] 美团点评招工具开发工程师~ at 2017年07月05日

    😂 工具开发听上去还是比测试开发顺耳

  • 如何快速定位 Android 启动测试中的耗时方法 at 2017年07月05日

    主要还是懒,因为一整套流程一步步说下来挺麻烦的。不过真的考虑用这种方式做的话,其实都很好理解。说到底,这个工具其实就是提供了一个traceview的反混淆工具以及traceview的parser。另外我补充一下以下两点:

    • 为什么要用这种方法:主要是看中traceview的inclusive/exclusive cpu time可以拿到线程跟方法的cpu时间,以及调用次数,这样可以避免上下文切换,阻塞,GC 等因素干扰,真正的目的也是为了使用自动化的方法分析耗时的方法
    • 关于 demo:其实demo有给出,文章最下面那个报表就是配置完成后,sheet_analysis.py 运行的结果,考虑到通用性问题,其实已经给出了解混淆手段以及 traceview 的解析堆栈,剩下的自己去拓展利用会比较好。
  • [解锁 UI 自动化新姿势]- Macaca+ 计算机视觉 at 2017年07月04日

    其实就是图像识别。。。另外准确度应该没法达到 100% 吧?

  • 源码解读腾讯 GT 的性能测试方案 at 2017年07月03日

    用 Choreographer 来测试这个倒不是腾讯的问题,丢帧数据确实基本上是不输出的,但不太清楚怎么回事。。不过尽管如此,腾讯在流畅度测试的计算上还是有点问题的。。

  • 解决部分机型 appium 安装应用时需要手动确认的问题 at 2017年06月30日

    不用这么麻烦,试试 UiWatcher 监听器,自带观察者模式,注册一个 watcher 即可

    public class InCallTest extends UiAutomatorTestCase {  
        private static final long TIME_OUT = 10 * 60 * 1000;  
        private long currentTime;  
        private boolean flag = true;  
    
        long eslcape = 0;  
    
        public void test_Call() throws InterruptedException,  
                UiObjectNotFoundException {  
            UiWatcher inComingWatcher = new MyWatcher();  
            getUiDevice().registerWatcher("来电", inComingWatcher);  
    
            getUiDevice().pressBack();  
            UiObject dialButton = new UiObject(  
                    new UiSelector()  
                            .resourceId("com.android.sprdlauncher1:id/workspace"));  
            System.out.println("waiting for incoming");  
            currentTime = System.currentTimeMillis();  
            while (flag && eslcape < TIME_OUT) {  
                dialButton.clickAndWaitForNewWindow();  
                eslcape = System.currentTimeMillis() - currentTime;  
            }  
            assertFalse("没有收到来电", flag);  
        }  
    
        class MyWatcher implements UiWatcher {  
    
            @Override  
            public boolean checkForCondition() {  
                UiObject inCall = new UiObject(  
                        new UiSelector()  
                                .resourceId("com.android.dialer:id/IncomingCallRejectButton"));  
    
                while (eslcape < TIME_OUT) {  
                    if (inCall.exists()) {  
                        System.out.println("you have a call");  
                        try {  
                            inCall.clickAndWaitForNewWindow();  
                            flag = false;  
                            return true;  
                        } catch (UiObjectNotFoundException e) {  
                            e.printStackTrace();  
                        }  
                    }  
                    eslcape = System.currentTimeMillis() - currentTime;  
                }  
                return false;  
            }  
        }  
    }  
    
  • 解决设备掉线问题:自动化测试中,如何解决设备经常掉线的情况? at 2017年06月28日

    usb offline 自动重置方案可以参考我这篇文章:http://www.cnblogs.com/alexkn/p/6742536.html

  • 解决自动化测试设备掉线:软件方案 at 2017年06月28日

    在 linux 的 Linux/include/uapi/linux/usbdevice_fs.h 中,重置_IO('U', 20) 可以重置 usb 设备。

    具体代码可以参考我的文章:http://www.cnblogs.com/alexkn/p/6742536.html

  • Uiautomator+Spoon 截图,提示:java.lang.RuntimeException: Unable to capture screenshot. at 2017年06月24日
    • 1.查看是否有写入权限
    • 2.uiautomator 使用 spoon 截图,我记得是需要获取被测应用的 activity 对象才能操作的,而 uiautomator 拿不到,所以可以改掉它的截图方法,改成系统的或者其他非侵入式的
  • 源码解读腾讯 GT 的性能测试方案 at 2017年06月23日

    暂无计划😂

  • 源码解读腾讯 GT 的性能测试方案 at 2017年06月22日

    因为runCMD(String cmdString)在内部都是用su -c $cmdString 去执行的

  • 源码解读腾讯 GT 的性能测试方案 at 2017年06月22日

    哦哦,我的错,当时主要疑惑的是第二条命令是怎么执行的。
    刚查了下,Runtime.getRuntime()原来执行多条命令时后续只要拿到process的DataOutputStream对象,继续writeBytes就可以保证是在同一个上下文中执行多条命令了。

  • GT-非官方介绍 at 2017年06月22日

    没有那么多,怕刷屏所以把所有的性能测试项的测试方法全放在一篇文章里了https://testerhome.com/topics/9094
    可能最多再加一篇 GT 架构这样的文章。

  • 源码解读腾讯 GT 的性能测试方案 at 2017年06月22日

    GT Tools 支持 AndroidJUnit 的测试脚本用于性能指标的采集和数据监控,但是也需要你自己去调用对应的 API。
    另一种集成方式就是自己简单封装一层,用广播模式调用 GT:http://gt.qq.com/docs/a/UseGtWithBroadcast.txt ,然后去驱动自己的用例,我在这里有一个整体介绍:https://testerhome.com/topics/9092

  • 1
  • 2
  • 下一页
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

    ©testerhome.com 测试之家   渝ICP备2022001292号
      渝公网安备 50022202000435号    版权所有 © 重庆年云聚力信息技术有限公司