自动化测试
自动化测试:将手工测试转化为用机器、软件、程序来测试产品的过程。
自动化测试过程
功能测试 → 自动化测试 → 冒烟测试 → 生成测试脚本 → 配置测试数据和测试环境 → 调度测试
自动化测试意义
- 缩短软件开发测试周期,使产品更快投放市场
- 测试效率高,充分利用硬件资源
- 节省人力资源,降低测试成本
- 增强测试的稳定性和可靠性
- 提高软件测试的准确度和精确度
- 使比较简易的测试工作能产生更高质量的测试结果
自动化测试的应用场景
手工测试适合繁杂的业务逻辑(验收、GUI),自动化测试适合基础且没有依赖性的代码(回归、API)。
- 需求变更频率不高
- 项目周期长,资源丰富
- 脚本重复利用率高
- 代码规范
常见的web自动化测试工具
- QTP(商业版):侧重于功能的回归自动化测试工具,提供插件,支持脚本语言VBScript。
可用性在于,支持录制回放(基于元素),支持lower level模式(基于像素点),QTP编辑器视图:Keyword模式(主要)和Expert模式。
录制回放成功率高,支持web界面测试,也支持Client测试,通过简单设置可以完成数据驱动的自动化脚本。 - UFT:QTP的新版本。
- RFT:适合功能测试、回归测试的自动化测试工具、针对java、.net技术和基于web应用程序的录制回放,但对程序运行环境依赖性大。
- Sikuli(图形化):基于Jython(python与java的结合),可利用屏幕截图直接引用GUI元素编程,完成交互操作。
- Winrunner:只支持C语言,逐渐退出历史舞台。
- Selenium(开源推荐):支持java、python语言,录制回放成功率低,仅支持web页面测试,数据驱动脚本需编程。Selenium IDE只适用于Firefox浏览器,推荐使用Selenium WebDriver。
Selenium(webDriver)+ eclipse + java
-
java环境配置:JDK下载安装,配置JDK环境变量
下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
若没有以下变量,请自行新建
系统变量:JAVA_HOME ,添加变量:jdk安装路径
系统变量:PATH,添加变量:%JAVA_HOME%\bin;
系统变量:CLASSPATH,添加变量:
%JAVA_HOME%\lib;
%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\tools.jar;
-------------------------------------
打开cmd,输入java -version
-
安装eclipse
下载地址:
http://mirrors.neusoft.edu.cn/eclipse/technology/epp/downloads/release/
https://blog.csdn.net/xunxue1523/article/details/104545260 -
安装TestNG
下载地址:https://pan.baidu.com/s/1Q50tIc-EN5B-ld6KylukHQ
提取码:pguw
解压后,将以下 features 和 plugins 中两个压缩包的解压
分别放到 eclipse 安装目录下的两个同名文件夹中
重启 eclipse,打开 Window - Preferences ,可看到TsetNG
-
下载安装 Selenium-java
官方下载地址:https://www.selenium.dev/downloads/
其他链接:https://pan.baidu.com/s/1EqrQLI7nQksjRvKmoq2Czg
提取码:9fym
将 selenium-java 压缩包解压,在 eclipse 将其引入。
右键项目,打开 Build Path - Configure Build Path
点击 Libraries - Add Library - User Library选择 User Libraries - New - Add Extenal JARs
创建 Selenium,引入解压后的 selenium-java 中的所有 jar 包
-
下载配置IE、Firefox、Chrome浏览器的驱动
IE:http://selenium-release.storage.googleapis.com/index.html
Firefox:https://github.com/mozilla/geckodriver/releases
Chrome:https://npm.taobao.org/mirrors/chromedriver
新建一个文件夹存放各种驱动,然后在系统变量的 Path 添加文件夹路径。 -
编写用例
验证浏览器驱动是否能正常使用:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class Test {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver(); //Chrome浏览器
// FirefoxDriver() - Firefox浏览器
// InternetExplorerDriver() - Ie浏览器
driver.get("https://www.baidu.com/");
WebElement search_text = driver.findElement(By.id("kw"));
WebElement search_button = driver.findElement(By.id("su"));
search_text.sendKeys("Java");
search_text.clear();
search_text.sendKeys("Selenium");
search_button.click();
driver.quit();
}
}
Selenium(webDriver)+ pycharm + python
-
python环境配置:https://blog.csdn.net/qq_41126139/article/details/106434083
-
安装pycharm
下载地址:http://www.jetbrains.com/pycharm/download/#section=windows
安装完,创建新项目,选择存放项目地址。
在project栏,右键新建py文件
运行项目快捷键 Ctrl + shift + F10,或者点击右上角绿色小三角
解决pycharm快捷键无法使用的方法,tools - vim 取消勾选:
-
下载安装Selenium
打开 cmd,使用pip下载:pip install selenium
然后 pip list 查看,selenium 安装版本
使用 pip 时,如果出现以下问题:
pip Fatal error in launcher: Unable to create process using
解决方法:https://blog.csdn.net/qq_41126139/article/details/106758539 -
下载配置IE、Firefox、Chrome浏览器的驱动
IE:http://selenium-release.storage.googleapis.com/index.html
Firefox:https://github.com/mozilla/geckodriver/releases
Chrome:https://npm.taobao.org/mirrors/chromedriver
新建一个文件夹存放各种驱动,然后在系统变量的 PATH 添加文件夹路径。 -
编写用例
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # - Chrome浏览器
# Firefox() - Firefox浏览器
# Ie() - IE浏览器
driver.get("http://www.baidu.com")
print(driver.title)
sleep(3)
driver.quit()
后续整理待补充…