我爱编程百人计划

0311-百人计划-Selenium、Jenkins入门及演进路

2017-03-12  本文已影响0人  绿豆粥lv

今晚分享2个主题:

(1)selenium——主讲人:黄河

(2)Jenkins第一讲_Jenkins入门及其演进路线——主讲人:老徐

Selenium

讲Selenium是讲自动化测试?No,只是一个功能测试的自我提高。

想学自动化,照着别人的博客,写了一点自动化也没有什么用,只知道照搬现成的,自己也算不上会自动化测试。

想学,但是没环境学,是很难学好自动化测试的。

困境:公司只有1个测试,或者只有2-3个测试,没有办法做一套自动化,或者维护一个自动化框架。

怎么办?把功能测试做好,并且提高效率。

下面,用Selenium写一个小工具提升功能测试效率——小demo

扩展:怎么让这个Demo变成一个真正的UI自动化测试工具?

1、读取数据

读txt,读取行。

复杂一点,读取CSV文件,如打开excel文件读取行和列。数据驱动/QTP也是这个。

再复杂一点,Json。用Json传参,传参之后自己用脚本跑,返回结果给对象。

2、将截取的图由Time值命名并保存下来。

3、将测试网址作为参数之一/数据之一。有2个文本,一个文本读取网址,一个文本读取搜索关键字。

4、只截取图片的一部分(PIL模块进行切图)

5、对截取下来的特定部分进行文字识别,并将其转化为字符串用来做断言(用第三方软件做OCL将图片转成字符串)。

说明:

1、第五步比较困难,因为识别成功率不高。

2、做完前面4步,这个工具就是只要输入网址和搜索关键字,就会自动把所有的搜索做完,并截图保存下来。只需要看图就可以知道出来的结果是否正确。

3、这个不算自动化,只是很能提高效率。一个人做后台,几个小时的活可以2分钟做完。

答疑:

1、脚本运行成功也需要截图吗?

运行成功也截图,因为这个工具无法取代人力,只能做完第五步才能取代人力,因为代码可以帮你做断言,不需要自己去核对。但是实现比较困难。

2、图片文字识别是什么?

图片文字识别。识别图片中的文字,自己做个判断条件,判断脚本是pass还是fail。。

3、为什么用图片识别文字而不直接选?

页面复杂的时候,有很多F-brame,大页面套小页面,选不到元素。

结束语

今天分享的意义是给大家提高一下思路,做功能测试的时候突破一下自己,提高一下效率,节省一点时间,让自己不用经常加班,可以早点回去睡觉。

两个小建议:

1、关于自动化测试——选型,搭建自动化框架,容易。写自动化用例+维护,很困难。小团队根本做不到,因为耗费太多资源。

2、APP测试建议看AppCrawler。学起来很快,用起来很爽,需要自己弄得东西不多。

AppCrawler工具更新到1.5.0 版本:https://testerhome.com/topics/5718

Jenkins

主要讲两块内容:

(1)Jenkins如何入门;

(2)Jenkins在企业中的演进路线。

Jenkins入门:

(1)部署:去Jenkins官网下载一个war包(部署包),放在服务器指定目录去。

(2)在服务器装个java,启动就可以(指定连接端口)。

Jenkins内部业务流

传统的方式,开发提交代码到git库,把代码拉下来去做本地打包,打包之后传到一个指定的公共目录,告诉测试包已经打好,请把包拿下来,传到服务器部署,先停止服务再启动,监控启动是否正常,正常启动之后再开始测试。这一系列的动作都是通过Jenkins来做。

Jenkins解放了人工打包的步骤。

Jenkins延伸

(1)提高效率,当项目比较多的时候,几百个,几千个项目打包。

(2)把单元测试、接口自动化、静态代码扫描集成到Jenkins,在打包之前就可以知道单元测试的覆盖率是多少,接口自动化是否通过。

(3)根据代码提交去触发构建

(4)设置每日构建。

(5)做到分布式,比如把打包部署做分离,企业最初是脚本单独写,随着项目的越来越多,可以抽取通用性脚本,可以做脚本的参数化,提高效率。

(6)把selenium自动化的部分集成进来。可以设置一些条件触发,跑自动化测试。

老徐的观点:

一个工具的使用和操作是最简单的,更需要知道工具的使用场景在哪里,它能解决什么问题,它的演进路线是什么样的,它的解决方案是什么,它的一些整体方案。

用过自动化没啥用,只是做自动化执行,更需要知道自动化方案,什么时候用自动化,自动化侧重点,解决途径,各种方案才是最重要的。

这种演进方向才是大家关注的,也是行业内一直探索的。

Jenkins使用:shell脚本以及插件。使用很简单,不复杂。

上一篇下一篇

猜你喜欢

热点阅读