自动化测试selenium教程

什么是自动化测试:

自动帮我们测试一个系统里面的主要功能,一个app、电脑网站、网页,每个系里面许多的功能,好比一个淘宝页面,里面N多功能,登录、注册,推荐,商品详情、评论等等;
软件生命周期:需求调研-》需求分析评审-》软件架构设计-》编码-》单元测试-》集成测试-》系统测试-》预发布系统测试-》上线;
后续不断的迭代更新,在更新的时候,又不能避免增加或者删除代码,从而有可能影响原先已经上线的功能,好比原先开发了一个登陆功能,后续产品更新,增加了记住密码自动登录的功能,所以就影响了旧的功能,需要测试人员进行验证对应的功能是否正常,没问题后才发送到线上。

  

这是一个点,如果更改的功能模块少,那手工验证对应的功能即可,但是通常一个系统少则几十个核心功能,多则几千几万个。例如下面的淘宝首页

如果每次更新都要人工验证核心功能,这无疑浪费了大量的时间和人力成本,所以自动化测试就出来了,可以大量的减少原先的人工测试的工作量。

 自动化测试主要是接口测试和功能测试,两着有交集,主要的是功能自动化测试,因为接口提供的数据,主要是为功能服务的,所以一般是功能自动化测试优先; 主流的功能自动化测试工具是 selenium+python ,双剑合璧。

Selenium介绍:是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本

一句话概括:就是通过程序去模拟人的行为从而去验证对应的功能,是不是很高大上? 

最简单的例子就是在小D课堂官网里面,通过编写python脚本,你可以完成打开浏览器,输入对应的站点,自动帮你登录账户密码,查找对应的视频,进入视频详情页,完成下单这一系列流程。 拓展下思维,哈哈,是不是可以完成自动抢票或者你们大学时候的抢课功能?

自动化测试应该怎么学呢?

首先,你需要有简单的编程基础,好比知道html/css/js/http这些基础,然后懂点Python就可以啦;

啊哈?没这些基础?也没关系,联系小D课堂的客服小姐姐她会给你的基础学习资料的

有基础后,你需要这样去学习自动化测试,下面就是大招了

1、首先你需要知道什么时候需要用到自动化测试和什么时候用手工测试,自动化测试不能完全替换手工测试。

2、安装对应的自动化测试环境,python3 + selenium3 + 浏览器驱动(推荐使用火狐浏览器)

3、掌握下面selenium八种定位网页元素的技巧

find_element_by_id,find_element_by_name,

find_element_by_class_name,

find_element_by_tag_name(),find_element_by_link_text(),

find_element_by_partial_link_text()

核心定位技巧:find_element_by_css_selector()、find_element_by_xpath()

4、使用selenium里面的ActionChains模拟用户的行为,模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽

5、上面的掌握后,最好有个小的实战,小D课堂官网为例:编写脚本完成下面的功能

 查找登录框-》输入用户名和密码-》触发登录-》判断登录是否成功-》打印结果

6、过后需要掌握为什么需要 等待时间--》等系统稳定,网页需要加载对应的资源文件,页面渲染,窗口处理等等

7、除了定位还有多种需要掌握的,比如单选框,alert、confirm弹窗处理

8、一般网站肯定需要登录,所有还需要掌握怎么操作cookie去操作需要登录的接口

9、登录一般有验证码,这个有应该怎么处理呢?破解验证码?还是有办法绕过验证码?

10、单元测试框架unittest是自动化测试里面必不可少的,多个测试用例同时进行测试

11、测试报告又是做啥的,怎样自动生成测试HTML测试报告呢,HTMLTestRunner的使用

12、自动化测试完成后,我们又应该怎么告诉别人测试的情况嗯? 自动化发送测试报告邮件就可以解决这个问题

想要了解更多自动化测试selenium的知识,可以前往https://xdclass.net/#/coursecatalogue?video_id=16 进行学习

https://ke.qq.com/course/339111

原文地址:https://www.cnblogs.com/xdclass/p/9842054.html