自动化测试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
自动化测试selenium教程的更多相关文章
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...
- 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学
2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...
- 跟浩哥学自动化测试Selenium -- Selenium简介 (1)
Selenium 简介 Selenium 是一款开源的web自动化测试工具,用来模拟对浏览器的操作(主要是对页面元素的操作),简单来讲,其实就是一个jar包.Selenium早期的版本比如1.0市场占 ...
- 跟浩哥学自动化测试Selenium -- 我的第一个Demo (2)
我的第一个Demo 开始写第一个 Demo 之前,先熟悉一下编写 Selenium 脚本的四个步骤: 驱动路径写法分析:System.setProperty 主要做用是设置系统属性,第一个参数为系统属 ...
- Web自动化测试 Selenium 1/3
Selenium 名字的来源 在这里,我还想说一下关于 Selenium 名字的来源,很有意思的 : > : Selenium 的中文名为 “ 硒 ” ,是一种化学元素的名字,它 对 汞 ( M ...
- selenium 教程
selenium 本身是一套web自动化测试工具,但其经常被用于爬虫,解决一些复杂爬虫的问题. selenium 用于爬虫时,相当于模拟人操作浏览器. 浏览器驱动 使用 selenium 需要先安装 ...
- 自动化测试-Selenium家谱介绍
一.自动化测试定义 自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证. 二.什么样的项目适合做自动化测试 1.需求明确,不会 ...
- 自动化测试 selenium 环境搭建
做 web 项目,测试是无法避免的.对于某些特定功能,采用单元测试就行.但如果想对网站进行整体测试,人工点击测试可行但有点累,如果能借助自动化测试工具就更好了.selenium 就是一款能满足这样要求 ...
- Selenium UI自动化测试 Selenium Automatic Testing
https://www.cnblogs.com/sunada2005/archive/2013/12/22/3486314.html UI Automatic Testing 1. 什么样的项目适合自 ...
随机推荐
- [译]理解 Windows UI 动画引擎
本文译自 Nick Waggoner 的 "Understand what’s possible with the Windows UI Animation Engine",已获原 ...
- 初学C#——选号器
private void Form1_Load(object sender, EventArgs e) { Random x = new Random(); ); //生成一个大于等于0,小于100之 ...
- PLC总结
PLC编程总结 PLC控制部分总体有三大部分组成,PLC硬件,组态以及梯形图程序.PLC硬件应与组态一一对应,不容有任何偏差:而梯形图与操作的组态的IO口也应该一一对应.因此,整个系统达到了由梯形图程 ...
- 03.枚举和string以及int类型之间的转换
练习1: 将枚举类型强转成int类型 namespace _04.枚举类型的练习01 { //声明一个QQState类型的枚举 public enum QQState { OnLine, OffL ...
- C#学习笔记8
1.泛型的约束: (1)接口约束: (2)基类约束,基类约束必须放在第一(假如有多个约束): (3)struct/class约束: (4)多个参数类型的约束,每个类型参数都要用where关键字: (5 ...
- Java web service 异常
1.org/apache/commons/discovery/tools/DiscoverSingleton Exception in thread "main" java.lan ...
- laravel vue.js的使用
安装cors 地址:https://github.com/barryvdh/laravel-cors 在Kernel文件中加上 protected $middleware = [ \Barryv ...
- JavaScript简易动画
<p id="s">fly</p> <script> function move(){ var id=document.getElementBy ...
- 【Linux】Windows与Linux之间的文件共享(基于网络)
切记:Linux的安全机制的存在--iptables和selinux. 一.操作前提 1.1 从Windows能够ping通Linux 1.2 关闭Linux防火墙 command1:/etc/ini ...
- 论文投稿Cover letter
转自:http://blog.sciencenet.cn/blog-479412-686426.html,感谢分享! 1.第一次投稿Cover letter:主要任务是介绍文章主要创新以及声明没有一稿 ...