selenium入门学习理论必知

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ouyanggengcheng/article/details/77249233
一、什么是框架?
在学习这条不归路中,遇到很多想往自动化方向学习的同学,很多人第一句现在自动化使用什么框架最好or最多or最容易啊。然后我反问一句,什么是框架理解吗?我一句嘴贱然后就要解释大半天。是的,我开始见到框架这个词的时候,也一脸懵逼,似懂非懂的,都是正常的,但是一直也没人跟我解释一下,去问人吧,也不是一句两句能说清楚,重要的是理解嘛。
1.在学习selenium(其他工具也是一样)的时候,大家会经常看到以下的组合
(1)python+selenium+unittest+ jenkins+git/svn
(2)java+selenium+testng+ant+jenkins+git/svn
(3)robotframework+selenium2library+jenkins+svn/git
2.可以看到上面的组合都是很多工具或者工具包组成,上面的都可以叫做框架。难道这么多工具组合才叫框架吗?当然不是:
(1)python+selenium可以叫框架,但是这套框架比较简洁,它只能实现自动化的执行;
(2)python+selenium+unittest也可以叫框架,多了unittest这个单元测试工具,封装操作层,通过方法调用实现用例层次的执行加上断言,并且单元测试报告的产物,就形成了操作+用例+报告的框架;
(3) python+selenium+unittest+ jenkins+git/svn也是框架,这套框架加上了jenkins+git或者svn,形成了持续集成运行,行成了操作+用例+报告+自动定时执行+邮件通知框架。
通过上面的解释,应该有一个大概的理解了吧,框架是要根据实现的需要来组成,实现需要输出报告,就加上报告形成的工具,实现需要自动定时执行或邮件通知,就可以加上jenkins来组成框架。当然上面说的只是举例,并不是说一定要这样的组合。个人属性的是java,上面以python举例也差不多吧,java这套就不举例啦,只要有思想,接下来的也就水到渠成啦。

二、功能自动化入门知识必学
1.前端技术
经常看到这样的问题吧,为什么这个对话框,我用alert处理总是不成功啊,如果你去看看源码,是不是alert一看便知。再比如,这个下拉框,我用select选择怎么一直不行啊,如果去瞧瞧源码,这个控件是不是select标签就明白了。太多太多这样的例子啦。
(1)html中常见控件,比如文本框、下拉框、按钮、单选按钮、table、ul等常见的都要知道;
(2)javascript知识,学会简单的使用,比如js事件触发、alert弹窗;
(3)jquery知识,特别是前后端分离的项目,使用jquery异步请求,要能明白整个逻辑。

2.工具的理解
这点也是很多人忽略的,一味的拿着工具就用,比如selenium,如果把原理弄明白,对排查问题是很有帮助的。selenium是需要依靠对应的browser的webdriver来操作浏览器,所以如果明白这点,就不会一味问为什么浏览器打不开啊,先看看webdriver是不是放在了正确位置,名字对不对。selenium+webdriver+browser这三个的关系搞懂,应该会有种豁然开朗的感觉。

3.编程语言
在测试圈流行的就是java与python啦,主要是因为这两种语言支持的工具类比较多,所以用的广泛。而学习编程语言要什么程度呢?这问的也是比较多的,其实大家都想到越多越好,但就是因为大家的害怕,想知道有多么容易,而不是多难,就是想容易,简单。像编程语言,基础的变量、类、方法、逻辑判断要会写。

三、功能 自动化分层思想
分层,这点也是比较模糊的,什么叫分层?那我就想问啦,你写代码,打算从头写到尾?密密麻麻?重复啰嗦?这就是为什么要分层,下面简单的说说功能自动化的分层。
1.元素层,元素管理起来,有点像QTP的对象库的意思;
2.逻辑层,调用元素组成逻辑判断,验证,当然这一层可以分多层,比如逻辑、验证就可以分为两层;
3.用例层,调用逻辑层,只输入数据、预期结果,而逻辑验层会得到一个实际结果;
4.日志层,这个日志指的是log,log在代码中是很重要的,所有的问题调试都依靠它,当然你喜欢一步一步找也可以;
5.报告层,当然就是执行报告的输出啦。

总结:大概简单的就说一下这些吧,像分层哪里,看着看着会有点像写用例,输入数据、预期结果、实际结果,这些都是用例必有字段,所以基础总是离不开的,总是很重要的。


猜你喜欢

转载自blog.csdn.net/ouyanggengcheng/article/details/77249233