• 还有后续吗?比如有找开发协助操作什么,开发有真的协助了吗?

  • 你这个表达对于内部对背景情况啥的都清楚的可能有用,但对于对你经历一无所知的面试官或者外人,真的是一头雾水。。。比如为啥会有黑名单这个功能,使用场景是啥,要解决啥问题,和前端 Element-UI 框架又有啥关系?你这里只是一个 List 的循环,和你提到的 BFS 广度优先算法遍历节点作为引擎驱动各种 Action 事件 ,又有啥关系?你第二段介绍只是让问题增多,并没有解答疑惑。

    我们的 UI 自动化框架,有个设备白名单功能(别人做的哈,我只是拿来做示例),也很简单,只有白名单上有记录 udid 的设备才跑自动化,逻辑实现复杂度也不高。但要让其他人(比如面试官)能了解清楚,我会这么介绍:

    S(situation,情景):随着 UI 自动化逐步推进,有的组已经建立起了 Jenkins 定时跑 UI 自动化的 job 。但由于目前自动化脚本主要适配的是固定机型(不同机型下 UI 布局会有一些变化,导致不稳定,兼容工作量不少,所以暂时先针对固定机型调优),而这个 Jenkins 有时候会接多个手机(有的用于跑 monkey,有的用于跑性能等)。当时 UI 自动化框架为了简便,driver 对象是自动生成,用例直接使用的。生成时会从已连接机器中随机选择对应平台的机器,缺少指定机器的能力,有时候会由于跑到了其他机器,UI 布局有差异,导致脚本不稳定。
    T(task,任务):因此,经过和各个组沟通,确认通过设备白名单的方式提供这种能力。白名单可以让自动化框架只选择里面的设备运行,如果设备未连接,直接失败。
    A(action,行动):在配置文件中,增加一个白名单配置项,类型为 list ,值为设备的 udid 。框架在初始化全局的 driver 对象前,增加一个确认是否有指定白名单的步骤。如果有,那就只使用白名单的。如果白名单只有一台,那就直接用。如果有多台,那就选里面有实际连上的其中一台。
    R(result,结果):各组只需要增加一个配置项,和升级框架版本,就可以进行指定设备跑自动化,UI 自动化也不再出现由于跑在不同机器上导致不稳定的问题。

  • 这个没研究过。不过我自己也用的 10.15.7 ,好像没怎么看到有升级弹窗骚扰。刚看了下,设置里好像可以关掉升级检查的,你可以试试?

  • 你的签名是怎么签的?没看懂自签名具体是什么意思。

  • 感谢提供信息。话说 ios 14.6 系统好像有自动下载更新的开关了,我理解关掉就可以了?

  • 这个好像要调整系统时间,骗过过期时间验证?

  • 这个代码片段看不出啥,有点一头雾水。而且从这个函数倒推, blackElements 的值有点怪怪的,可能是 text ,也可能是 id ,甚至可能是 xpath 。

    可以完整点说下不?对于怎么完整地表述一件事,可以参考 STAR 法则。

  • 也分享个我之前遇到的情况及解决方案,供参考:

    当机器连接比较久的时候,发现会由于打开控制界面自动创建输入法的 websocket 通讯,导致 adb 连接整个卡住(运行 adb shell 都卡在那里),影响到屏幕会没有加载的情况。(特别明显的界面特征是,想获取设备的应用列表都获取不到)

    解决方案是去掉了自动创建输入法通讯这个代码,要输入的时候手动点【修复输入法】来手动创建。

  • 如果这些都能做到,对一年经验来说能力绝对不差,不应该面试如此不顺。

    可以 show 一些封装的例子或者你的总结笔记看看不?

  • 有的,有兴趣来试试?可以直接简历发我邮箱,chenhengjie@lizhi.fm

  • 按照你给的这个数,对于普通直播应该是很够用的。倒是要看看会不会有非微信直播组件做的直播路径必经功能(如进房、出房、心跳保活、公屏信息收发),如果有,要评估下是否扛得住。

  • 赞!

  • 额,从描述上看你们用的整个视频直播都是微信提供的组件,那你这个压力测试,是要试试压力到多大能把微信直播组件拉胯吗?个人理解一般提供这类服务的第三方组件都会有内置的限流策略,达到阈值就直接卡掉了,而不是等真的组件被某一个租户的压力压垮。

    另外你括号外面和括号里面是两个完全没啥关系的问题,一个是功能,一个是性能。建议先描述清楚你要测试的到底是什么?

  • 这个支付宝是正式 appstore 的支付宝么?如果是,那 webview 的调试端口估计都是关着的,没法直接访问。

    可以问下支付宝那边的技术支持,看有没有提供这方面的一些方案?微信小程序好像是对应提供了一个测试工具的,支付宝不大清楚有没有。

  • 以下文字可能有点直接,请静下心看下:

    1、不知道你有没有总结过自己面试哪里不行?30 多家没有一家 offer,这里面一定有你自己的原因。

    2、你正文都是提环境怎么不适合,但没有提过自己怎么尝试去改变环境?(闷头自学属于改变自己,不是改变环境,这个要认清。虽然毕业一年不要求能改变环境,但连尝试都没试过,说明你自己态度上还是略消极)

    3、学了不用就忘,忘了又重新学,不用还是得忘 ,你笔记有做好记录么?有梳理总结吗?如果有,就算学了不用,到用的时候根据你的笔记应该是可以非常快速就用起来的。如果做不到,那就是你笔记没写好,连自己都没法用起来。我现在有时候弄东西,偶尔还是得查自己以前发的帖子才能回忆起某些关键点,但也比从零开始快多了。

    4、我应该把握金九银十跑路吗,不知道是不是我个人感觉,社招好像已经没太明显的金九银十这样的规律了。其次,你想要换,也没必要等金九银十呀,找到合适的就去面呗。先提升自己水平到能拿到 offer ,再纠结是不是现在适合走。offer 都拿不到就别纠结走不走了

    5、我目前广州在职只有 6k,算正常吗,以我的了解,在广州,1 年经验,这个工资并不算很低。但我觉得你需要纠结的不是工资,而是自己的长期发展。这种情况下,建议你还是想好自己是想追求眼前的薪酬,还是未来的发展。当然好公司两者都会有,但如果没法两者兼顾,你得想好你的选择。

    最后,回应主题,分享下我的经历。我当年毕业一年在工作中确实都还在点点点,但工作外也会自己写点程序辅助自己(比如写个爬虫帮我抢购 macbook 官翻版),并保持对技术的了解(以前在学校网络部做过,做过 web 网站开发,所以有点技术基础)。然后第二年很幸运凭借自己有 python 基础,比其他真的只会点点点的能力强一点,得以加入了一个测试工具开发小组做主力开发,并在各种找资料中了解到 appium ,加入社区,后续就逐步就深入代码往技术方向发展了。

  • 看到前面提到外包,多回复一句:外包只是工作形式,面试更看重的是能力。一般的思维不是 这个是外包=这个就差,而是这个水平好像偏低->哦,原来一直在外包。

    所以不要太纠结外包这个身份,只要你不纠结,面试官也不会纠结的。而且从简历上看,除了工作经历跳槽比较频繁(基本是 1 年 1 跳)外,倒没怎么看出是外包的。

    好的简历怎么写,建议去知乎或者招聘相关公众号找找,应该都可以找到相关文章。个人理解,最基础的是要用 STAR 法则来写每一段经历,才能讲得足够清晰准确。现在的内容只有 STAR 里面的 Action ,其他三个都完全没提及。这类写法实在太常见了,所以有经验的面试官看到后,都会默认认为里面提到的其实都是 “能在辅助下运用” 水平,然后实际面试再抽 1-2 个确认下深度和掌握度,10 分钟内找不到亮点就可以结束了。

  • 嗯嗯,所以要结合团队情况看。

    写配置的其实也是有办法做成复用的,最常见的方案就是关键字驱动(比如 robot framework),可以用写用例的方式写函数封装。不过会有点感觉像是四不像,简单程度上比纯数据驱动会复杂一些,毕竟可以有控制语句了(if/else/while 等),灵活程度上又没有代码灵活,没有适合的 ide 配套写起来非常难受。

    我是觉得,如果编程水平实在不行的,那就直接弄录制回放,甚至考虑下此时是否适合引入自动化。因为先不论自动化脚本编写难度如何,实际自动化总会遇到一些问题需要排查,而排查解决没有一定的编程基础,是搞不定的,容易直接卡住。这种情况下,要不有专门自动化团队有能力协助搞定这些问题,要不就通过培训 + 淘汰,提高团队这方面能力。

  • 可以考虑让运维给你临时开几台虚拟主机,直接把压测工具和脚本放到 git 仓库,然后 clone 到机房主机。跑完后把报告数据拉到本地分析生成图表。也可以考虑直接部署个 meterphere 上去,直接 web 平台操作,不用拉来拉去。

    公司内网到机房的带宽是有限的,而且如果中间有 CDN 之类的挡一下,你基本压不倒实际服务。

  • 以下仅代表个人观点:
    1、写 yml 配置形式。好处是实现简单,上手也简单,容易统一。缺点是灵活性容易受限,对于相对复杂的用例,写和调试相对麻烦,不好复用(不是复制粘贴,特指调用已有的某些步骤)。
    2、直接写代码。好处是非常灵活,缺点也是过于灵活,没有好的规范容易乱。同时上手也相对难一些,需要有一些编程基础。

    具体选哪个,核心看你们目前团队的编程水平。会编程的人多,第二种会更好,因为灵活性足够高,因此用例怎么多也不至于太乱。如果大部分不会编程,选第一种,甚至直接选录制回放生成脚本的可能更合适。

  • 做的项目全部没有效果数据,看不出掌握程度和项目难度。比如自动化多少用例,通过率百分之多少,突破过什么难点,都没提。体现不出水平,默认认为水平不高,也看出总结归纳能力不强,有需要当一些项目负责人或小组长,会有点悬

    见过一些 1-2 年的简历,写得也差不多,属于都会不精。3 年最好有一个精一点的,详细写下,突出深度。

  • web 前端性能如何测 at 2021年08月20日

    建议你看看 chrome 开发者工具里的 lighthouse 和 performance ,注意不是直接看界面(这个东西还没简单到直接看界面就无师自通),而是去找相关的使用文档先了解下。这两个就是做前端性能检测相关的事情的。

    另外,浏览器提示卡死这个现象,本身就基本上可以排除服务端原因。因为服务端再怎么慢,也只会导致请求超时(请求都是后台异步的,本质就是持续的等待),不会导致资源耗光引起浏览器认为卡住(个人理解应该是 UI 主线程卡住,没法响应任何用户操作事件)。同时也通过看浏览器 network 里面这个服务端请求的返回耗时,看是先返回,还是先卡住。

  • 你们改 header 的目的是什么,只有改 header 这条路可以走吗?

    如果是,改 header 这个,我理解也可以直接在 wifi 路由器里,或者弄个 http proxy ,来篡改请求数据?

  • 这个问题有点伸手了,先搜索引擎搜索下?

  • 可能你说的距离和我理解的不大一样。你说的看起来像是楼层高度,我说的是楼层间隔,即中间隔了几层。1 楼和 2 楼间隔是 1(2-1=1),2 楼和 3 楼间隔也是 1(3-2=1)。

    有楼层高度是会更精确,但实际上楼层高度差异很大(某楼层高度是其它楼层的 2 倍甚至更多)的楼毕竟是少数,而且差异 0.5 米按照电梯的速度,时间差异也基本在 1-2 秒内,从等电梯的人角度看,这个差异几乎可以忽略不计?对于电梯公司来说,少数几套通用算法走天下,成本比每个大楼还得根据楼层高度来调整算法要低不少吧。

  • 公司给不到技术支持,可以多上来社区提问哈。社区有专门问答区的,大家都会看到,得到答复也快而准。

    提问方式可以参照下那些回答数比较多的是怎么提的,仿照着来。社区毕竟不像同事,可以立即互动,所以尽量把问题描述清楚,这样才能更好的得到最佳答案。