什么是自动化测试:

自动帮我们测试一个系统里面的主要功能,一个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. CentOS安装nginx方法命令教程

    1.依赖项和必要组件 yum install -y make cmake gcc gcc-c++ yum install -y pcre pcre-devel yum install -y zlib ...

  2. js之strict模式

    JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量.这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量: i = 10 ...

  3. Jms学习篇二:ActiveMQ

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线 安装 1>下载:到http://activemq.apache.org/download.html 下载最新版本, 解压a ...

  4. C语言入门(一)环境搭建

    1. 下载Code::Blocks(源文本编辑器) 2. 下载编译器MinGW(或者下载好自带编译器的codeblocks) http://jingyan.baidu.com/article/c843 ...

  5. spark编程python实例

    spark编程python实例 ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PyS ...

  6. TextView来实现跑马灯的效果

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. java 将long类型的数值转无符号数

    由于JAVA中基本数据类型均为有符号数,而且最大数据类型long为8字节假如long为负数时,最高位为1,转为无符号数时会超出long的取值范围,所以转换规则如下: 方法: public static ...

  8. matlab绘图(详细)(全面)

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  9. 并发包java.util.concurrent.locks.Lock

    ** * * @描述: Lock比传统线程模型中的synchronized方式更加面向对象.与生活中的锁类似,锁本身也应该是一个对象,两个线程执行的代码片段要实现同步互排的效果 * 它们必须用同一个L ...

  10. day013-流

    1. 常用函数式接口 1.1 Predicate接口 有时候我们需要对某种的数据进行判断,从而得到一个boolean值结果.这时可以使用java.util.function.Predicate< ...