![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化
文章平均质量分 80
叶赫那拉 赫敏
利用测试技术赋能世界发展
展开
-
Google 测试总监聊如何经营成功的测试职业生涯
你是如何开始做测试工作的?1989 年,我在田纳西大学读研究生的时候,完成了从软件开发人员到软件测试人员的转型。而这一转型并非出于我自己的选择。我命运的改变发生在一个早晨,我的教授质问我为什么缺席那么多开发会议。我解释说因为会议被安排在星期六早上,很不方便。而作为一个生平第一次离开家的新入校的研究生,这个时间段有些麻烦。十分有意思的是,等待我的惩罚并不是一纸解聘通知书,而是被判罚为该小组的唯一一个测试人员,且不能与开发团队有任何交流。对于我的职业生涯来说,这是一个意义多么重大的决定啊!正是这个决定最终成就了原创 2022-10-09 16:56:00 · 390 阅读 · 0 评论 -
干货 | 解决 App 自动化测试的常见痛点(弹框及首页启动加载完成判断处理)
一般情况下我们一次只会出现一个弹框,但是例外的是可能有一个以上的弹框同时出现,这样的话虽然处理了其中一个弹框,但是剩下的弹框依然会阻断用例的正常执行,这个时候就可以使用递归的方法,在处理完弹框后返回findElement方法自身,继续进行try catch,使之进入弹框处理逻辑。很容易打消做自动化的热情,导致从入门到放弃。观察弹框,我们会发现一般为了保证用户体验,弹框都会方便用户进行一键消除,例如上述中雪球的各种弹框,可能点击一个叉号,可能任意点击其他地方,或者评价框这种直接点击“下次再说”等。原创 2022-09-19 11:42:03 · 300 阅读 · 0 评论 -
干货 | 读懂 Appium 日志,让测试效率翻倍!
(例子中的错误是设备制造商的安全模型造成的)5 个月由浅入深,强化集训,测试大咖思寒领衔主讲,授之以渔,通过 10+ 企业级项目实战演练,带你一站式掌握 BAT 测试开发工程师必备核心技能(对标阿里巴巴P6+,挑战年薪50W+)!这个例子只是众多错误中的一个,但它说明至关重要的一点,当错误发生时,日志可以提供更多的信息,如果没有完整的日志信息,对 Appium 排错难上加难。对于自动化测试来说,这个信息很重要,因为不同的 Appium 版本有不同的功能和问题,必须要知道自己的 Appium 版本。原创 2022-09-19 11:39:21 · 257 阅读 · 0 评论 -
技术分享 | Jenkins通过什么方式报警?
在工作中,一般是没有时间一直看着 Jenkins 直到它运行结果出现的。所以采用了配置 Email 的方式,可以及时将结果通知给我们。报警邮件触发条件设置,依据已选规则进行邮件推送的触发。如果 job 执行完成,将发邮件给相关人员。默认情况下邮件内容比较单一枯燥,我们可以结合邮件的模板来丰富我们的测试结果以便更好的理解。点击系统管理 → 系统配置 → Extended E-mail Notification。原创 2022-09-19 10:45:44 · 88 阅读 · 0 评论 -
测试开发基础|一文搞定计算机网络(一)
而节假日的时候,因为免费加上出行增加,道路的利用率可能大大增加,但是同行的流畅度也大大降低(本人就经历过平常四五个小时的车程开了16个小时的痛苦经历~~,时延太大了呀)分组交换网中的结点减缓及根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机,用这样的存储转发方式,最后就能到达最终目的地,再根据首部信息将数据拼接恢复未原来的报文。依然可以以开车进收费站为例,到了收费站以后,我们需要取卡缴费等行为,哪怕是ETC也要减速慢行等待抬杆,有时候可能没识别到还得倒车再来,这些过程所花费的时间就成为。原创 2022-09-13 15:42:27 · 159 阅读 · 0 评论 -
测试必会 Docker 实战(一):掌握高频命令,夯实内功基础
下一次,将带大家通过3个实战练习selenium、prometheus+grafana、mysql的监控,带大家了解docker的招式法门,学会之后,我们就可以真正的带入工作,进行实战了。其实呀,这两个端口号,是容器故意对外暴露的端口号,我们可以通过端口映射的方式,使容器内部的端口号与宿主机的某个端口号产生链接。Docker 的基础命令,堪称 Docker 的内功,只有把内功修炼好了,我们在 Docker 的学习路上才会更加顺畅,不会导致“走火入魔”。进入容器,exec的意思是在容器中运行一个命令。原创 2022-09-13 15:34:29 · 99 阅读 · 0 评论 -
测试人生 | 二线城市涨薪近10万 ,还能955,这样的机会你想不想要?
本文为霍格沃兹测试学院优秀学员笔记,测试开发进阶学习文末加群。本人16年毕业于一所海外学校,从毕业到现在已有5年的测试工作经验。毕业前夕,一直想走产品经理这一条路,参加了不少公司的校招,比如腾讯、网易这样的大厂,无奈当初水平太菜,止步面试前几轮,最可惜的是参加中国移动的校招,进入终面后因为相关实习经验不足惨遭淘汰。原创 2022-09-13 15:29:29 · 125 阅读 · 0 评论 -
浅谈Shiro框架在Spring Boot中的认证应用
客户端提交用户账号和密码,在Controller中拿到账号和密码封装到token对象,然后借助subject的login方法,把数据提交给SecurityManager,使用Authenticator处理token,Authenticator从Realm列表中获取LdapRealm,LdapRealm从token中获取数据,交给authenticate进行比对,对比通过返回AuthenticationInfo。另一种是注解的方式,实现细粒度控制,但只能是在方法上控制,无法控制类级别访问。原创 2022-09-09 14:33:08 · 113 阅读 · 0 评论 -
JVM内存溢出问题排查
当然,分析和解决内存溢出相关问题的步骤,不是固定的,还需要根据实际情况去做调整,止损是第一位的,正常情况我们需要快速重启的先,重启可以使服务快速恢复,但是只重启,指标不治本,如果没有定位到溢出的原因,重启一段时间可能又会溢出。内存溢出 out of memory : 通俗理解就是内存不够用了,是我们工作当中经常会遇到的问题,内存溢出有可能发生在正常的情况下,而非代码层面问题导致,比如高并发下,大量的请求占用内存,垃圾回收机制无法进行回收,而导致的内存溢出,这种情况就需要我们去调整架构了。原创 2022-09-09 14:29:26 · 1009 阅读 · 0 评论 -
从几个开源项目浅谈IOS视频流输出方案
Apple开发组件replay kit[3] 经常用于直播当中,可以实时的获取视频流,它是通过IOS内置的录制视频组件,在苹果手机上启动一个视频输出的服务,再从此端口获取视频流。通过截屏获取图片,转换成视频流的形式,这种方法可见于facebook研发的WebDriverAgent(WDA)[1]技术,后由Appium进行维护,通过WDA的MJPEG服务接口获取屏幕截图,再用web-socket发送到浏览器端,就可以视觉上形成视频的效果。这里根据几个开源项目,做一个不同技术方案的视频流效果对比。原创 2022-09-09 14:23:33 · 857 阅读 · 0 评论 -
Shell 进程通过 ContentProvider 实现跨进程通信
今天分享一下Uiautomator1.0与server app跨进程通信的方案,我们一般情况下都使用socket进行通信,但是当server app没有运行时就很难及时处理,我们让server app实现ContentProvider来对外提供服务,即使server app没有运行,我们也能正常调用服务,系统会自动帮我们启动server app。**authority:**校验字符串,必须与server app内指定的保持一致。**arg:**访问字符串参数,一般不用。**method:**调用的方法名。原创 2022-09-08 14:49:25 · 171 阅读 · 0 评论 -
Vue3.0 如何写自定义指令
先来看看注册全局指令的方式,通过 Vue.directive( id, [definition] ) 方式注册全局指令,第一个参数为自定义指令名称(指令名称不需要加 v- 前缀,默认是自动加上前缀的,使用指令的时候一定要加上前缀),第二个参数可以是对象数据,也可以是一个指令函数。自定义指令好就好在:原先的那些通用组件,无论是纯js的也好,基于jQuery的也好,都可以拿来主义直接吸收,而不需要改造或重构。**pdated:**在包含组件的 VNode 及其子组件的 VNode 更新后调用。原创 2022-09-08 14:44:28 · 205 阅读 · 0 评论 -
分布式自增ID算法Snowflake简介
过去的项目开发中,我们常常选用的数据库是mysql,mysql以其体积小、速度快等优势,备受中小型项目的青睐。但是数据迁移后我们遇到一个问题,之前mysql数据库中,我们采用的是自增id主键,可选用的tidb又对自增主键不是很友好,所以我们选用了另一种主键生成方式:Snowflake算法。SnowFlake算法是Twitter设计的一个可以在分布式系统中生成唯一的ID的算法,它可以满足每秒上万条消息ID分配的请求,这些消息ID是唯一的且有大致的递增顺序。所有位数加起来共64位,恰好是一个Long型。原创 2022-09-08 14:37:58 · 205 阅读 · 0 评论 -
Golang协程池的使用
协程的通讯和控制就依赖于channel通道和context包,而协程的代码一定注意不要有死循环或者无限制等待的阻塞任务,不然除非main退出,子协程是无法退出的,他不像进程这样,你还可以通过kill等命令强制结束,context的控制逻辑其实也是要代码执行到判断逻辑主动退出的,如果之前就阻塞或者死循环,那就无法退出了。Golang的并发是通过协程来实现支持的,Go中main函数入口本身是一个主协程,如果我们没有创建子协程,那么这种程序执行模式就是串行(即一件事情做完再做另外一件事)原创 2022-09-08 14:36:18 · 428 阅读 · 0 评论 -
技术分享 | 接口自动化测试中,文件上传该如何测试?
在服务端自动化测试过程中,文件上传类型的接口对应的请求头中的 content-type 为 multipart/form-data; boundary=…,碰到这种类型的接口,使用 Java 的 REST Assured 或者 Python 的 Requests 均可解决。实战练习Python 版本在 Python 版本中,可以使用 files 参数上传文件,files 要求传递的参数内容为字典格式,key 值为上传的文件名,value 通常要求传递一个二进制模式的文件流。>>> url原创 2022-08-24 14:31:46 · 258 阅读 · 0 评论