什么是自动化测试:

自动帮我们测试一个系统里面的主要功能,一个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教程的更多相关文章

  1. Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考

    Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...

  2. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

  3. 跟浩哥学自动化测试Selenium -- Selenium简介 (1)

    Selenium 简介 Selenium 是一款开源的web自动化测试工具,用来模拟对浏览器的操作(主要是对页面元素的操作),简单来讲,其实就是一个jar包.Selenium早期的版本比如1.0市场占 ...

  4. 跟浩哥学自动化测试Selenium -- 我的第一个Demo (2)

    我的第一个Demo 开始写第一个 Demo 之前,先熟悉一下编写 Selenium 脚本的四个步骤: 驱动路径写法分析:System.setProperty 主要做用是设置系统属性,第一个参数为系统属 ...

  5. Web自动化测试 Selenium 1/3

    Selenium 名字的来源 在这里,我还想说一下关于 Selenium 名字的来源,很有意思的 : > : Selenium 的中文名为 “ 硒 ” ,是一种化学元素的名字,它 对 汞 ( M ...

  6. selenium 教程

    selenium 本身是一套web自动化测试工具,但其经常被用于爬虫,解决一些复杂爬虫的问题. selenium 用于爬虫时,相当于模拟人操作浏览器. 浏览器驱动 使用 selenium 需要先安装 ...

  7. 自动化测试-Selenium家谱介绍

    一.自动化测试定义 自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证. 二.什么样的项目适合做自动化测试 1.需求明确,不会 ...

  8. 自动化测试 selenium 环境搭建

    做 web 项目,测试是无法避免的.对于某些特定功能,采用单元测试就行.但如果想对网站进行整体测试,人工点击测试可行但有点累,如果能借助自动化测试工具就更好了.selenium 就是一款能满足这样要求 ...

  9. Selenium UI自动化测试 Selenium Automatic Testing

    https://www.cnblogs.com/sunada2005/archive/2013/12/22/3486314.html UI Automatic Testing 1. 什么样的项目适合自 ...

随机推荐

  1. nyoj 1192——Salvation——————【搜索】

    Salvation 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 神秘瀑布镇是一个神秘的地方,那里有吸血鬼,狼人,巫师,二重身. Klaus(吸血鬼祖先) 为了利用 ...

  2. jquery中Ajax提交配合PHP使用的注意事项-编码

    问题:Ajax提交的数据的编码为utf-8,并且返回的数据也要求是utf-8的,如果说你的系统不是utf-8编码的话,那会让你痛不欲生! 解决方法:(比较笨拙的方法,但是很好用) 对于接收的数据,使用 ...

  3. 修改ThinkPHP的验证码类

    今天用ThinkPHP重新开发一个系统,用到了ThinkPHP的验证码类,由于我希望验证码别太复杂,希望验证码里边只有数字,却发现该Verify类并未提供设置验证码中使用的字符的配置的方法,于是查看源 ...

  4. [转]win7 如何升级PowerShell

    本文转自:http://www.cnblogs.com/wenBlog/p/6198354.html 背景: 开发的PowerShell 脚本需要使用Invoke-RestMethod命令,发现在老的 ...

  5. 运算符重载关键字operator

    operator关键字用来重载内置运算符,使用方法如下: public class OperatorController : Controller { // // GET: /Operator/ pu ...

  6. ACM-线段树扫描线总结

    扫描线的基础概念可以看这几篇文章 http://blog.csdn.net/xingyeyongheng/article/details/8927732 http://www.cnblogs.com/ ...

  7. Spring课程 Spring入门篇 4-8 Spring bean装配之基于java的容器注解说明--基于泛型的自动装配

    1 解析 1.1 什么是泛型? 1.2 泛型有什么作用? 1.3 泛型装配样式? 2 代码演练 2.1 泛型应用 1 解析 1.1 什么是泛型? Java泛型设计原则:只要在编译时期没有出现警告,那么 ...

  8. WSAAsyncSelect 消息模型

    select 模型虽然可以管理多个socket,但是它涉及到一个时机的问题,select模型会针对所管理的数组中的每一个socket循环检测它管理是否在对应的数组中,从时间复杂度上来说它是O(n^2) ...

  9. HTML表格相关元素

    <table> 标签定义 HTML 表格.简单的 HTML 表格由 table 元素以及一个或多个 tr.th 或 td 元素组成.tr 元素定义表格行,th 元素定义表头,td 元素定义 ...

  10. Lucene 初识

    因为业务需要,虽然自己不是专门写搜索的,但是需要自己拼一些搜索条件去调用搜索的接口,而之前看的JVM crash里也涉及到了Lucene,所以大概了解一下. 参考文档: http://www.itey ...