一、自动化测试概念
1、概念
java:TestNg
python:unittest pytest
2、自动化测试可行性
- 测试目的明确,需求不会频繁的变更
- 对于项目的自动化测试,要看项目的具体情况
- 一个产品需要在多个环境下部署
- 对于web GUI测试,需要测试用例在不同的浏览器上进行兼容性测试
- 移动端测试,同样的测试用例需要在多个不同的android和ios执行
- 对于一些企业级软件,不同的企业他需要按照对应的行业领域做定制化,但是各个定制版本的主题功能绝大多数是一致的,只是个别功能有轻微的差异
- 测试人员具备一定编程能力
二、selenium核心原理与机制
1、代码分析
需求:
(1)打开Chrome浏览器,在地址栏中输入百度的网址。
(2)在搜索输入框中输入关键词“自动化测试”并按Enter键。
(3)验证搜索结果页面的标题是否是“自动化测试_百度搜索”。
注意:把dirver放到本地的文件夹后,一定要配置到环境变量中
2、Selenium 1. 0的工作原理
Selenium 1. 0,又称SeleniumRC,其中RC是Remote Control的缩写
Selenium RC服务器主要包括Seleniumcore,http proxy和launcher三部分
- selenium core,是被注入浏览器页面中的js函数集合,用来实现界面元素的识别和操作
- HTTP Proxy,作为代理服务器修改js的源,以达到“欺骗”被测站点的目的
- Launcher,用来在启动测试浏览器时完成Selenium core的注入和浏览器代理的设置
3、Selenium 2. 0的工作原理
4、Selenium 3. 0的工作原理 2016
- 3. 0版本的API向下兼容2. 0
- JDK 环境需要升级到JDK 1.8或者以上。
- 移除了1. 0版本的RC,也就是说,Selenium 1. 0不再得到官方的支持。
- (2. 0版本的Firefox(不需要多带带下载驱动)3. 0官方提供了一个geckodriver,具体用法类似于 ChromeDriver.
- 官方开始支持微软的(Edge)浏览器,但是需要下载对应的 Driver(Microsoft Web Driver.exe).
- 官方支持的最低版本为(IE9)
三、selenium安装
1、Selenium WebDriver
客户端API接口,测试人员通过调用这些接口(WebDriver源码),来访问浏览器驱动,浏览器驱动再访问浏览器
2、Selenium IDE
官网地址:https://www.selenium.dev/
Selenium IDE是一个浏览器插件,支持chrome浏览器和Firefox浏览器,可以将手动测试过程记录下来,并生成自动化测试脚本,可以实现回放。
使用方法
作用:以录屏的方式帮助异地开发重现bug
3、Selenim Grid
1)可以解决什么问题?
- 当web应用需要进行不同浏览器的兼容性测试时,首先需要准备很多机器或者模拟
机,并安装所需的不同测览器。
- 当web应用需要进行同一浏览器的不同版本的兼容性测试时,同样需要准备很多安装了同一浏览器的不同版本的测试执行机器
- 在GUI自动化测试用例的数量比较多的情况下,你不希望只用一台测试执行机器以串行的方式执行测试用例,而希望可以用上所有可用的测试执行机器,以并发的方式执行测试用例
2)Selenium Grid架构
四、Selenium开发环境搭建
1、安装python
https://www.python.org/官网下载python
2、安装pycharm
https://www.jetbrains.com/pycharm/download/#section=windows (使用社区版即可)
3、安装selenium
- 离线安装
下载指定的selenium版本;https://pypi.org/project/selenium/
解压文件;
使用cmd进入解压目录下执行命令:python setup.py install
- 使用pip在线安装:
pip installselenium
pip installselenium==指定版本号 如:pip install selenium==2.48.0
4、下载driver
- 如果不能科学上网,推荐使用国内镜像:https://npm.taobao.org/mirrors/chromedriver/
- 配置driver的环境变量
五、元素定位基础知识
.......
1、HTML
:
文档的根元素,所有的描述都在这里
:
文档头信息,包含、