当前位置: 首页 > news >正文

软件测试(五)--自动化测试Selenium(一)

测试用例万能公式:功能,界面,易用性,兼容性,性能,安全,安装卸载

1.什么是自动化测试

将人工要做的测试工作进行转换,让代码去执行测试工作。提高测试效率,提高测试产品质量。

分类:

单元自动化测试

接口自动化测试

UI自动化测试

2.什么是selenium

做UI自动化测试的工具

3.selenium优势

1)免费,可以查看源码

2)支持各大浏览器(edge,chrome,opera..)

3)跨平台(linux,windows,mac)

4)有丰富的API

4.selenium工作原理

三个角色:

1)自动化脚本代码(在idea里面写的代码)

2)驱动:对页面进行操作

3)浏览器

5.selenium环境搭建

Python+selenium

1)下载python

2)安装setuptools

打开cmd,输入命令:pip install setuptools

3)安装selenuim

打开cmd,输入命令:pip install selenium

Java+selenium

1)下载chrome浏览器

2)下载chrome浏览器驱动

https://developer.chrome.com/docs/chromedriver/downloads?hl=zh-cn

3)配置系统环境变量PATH

①打开下载好的文件夹,将chromedriver.exe复制到chrome浏览器所在的文件夹。

②将chromedriver.exe复制后的路径(即chrome的路径)复制下来,添加到系统环境变量-Path中。

③验证环境是否搭建成功

创建java项目

在pom文件中插入以下代码

 <dependencies><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency></dependencies>

运行如下代码

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebDriver;public class Main {public static void main(String[] args) {WebDriver webDriver = new ChromeDriver();webDriver.get("https://www.baidu.com");}
}

运行结果如下即为环境搭建完成。

如果运行结果为Process finished with exit code 1,且百度界面闪了一下就退出,可能是因为chromeDriver与chrome版本不匹配。

6.selenium API

1)定位元素

①CSS选择器定位元素

类选择器:“.” +class的值

id选择器:“#” + id的值

父类选择器 子类选择器 (#s_kw-wrap #kw)父类子类之间有空格

标签选择器:标签名

②xpath定位元素

绝对路径:通过/开头

相对路径:通过//开头

a.相对路径+索引

b.相对路径+属性的值

c.相对路径+通配符

//*[*@class="s_ipt"]

d.相对路径+文本匹配

//a[text0="新闻"]

③标签定位元素

选中--右键--copy--copy xpath

css选择器和xpath对比:css定位元素效率更高

2)操作测试对象

①click点击对象

②send_keys在对象上模拟按键输入

③clear清除对象输入的文本内容

④submit提交

⑤text用于获取元素的文本信息

send_keys,click,text获取文本

clear,submit

submit和click区别:

submit操作的元素通常需要放到form标签中,否则会报错。click没有这个限制。

推荐使用click。

3)添加等待

强制等待:sleep

智能等待:

①显式等待

②隐式等待(推荐)

隐式等待并非一个固定时间,元素可以定位,则继续执行;定位不到,以轮询的方式不断的判断元素是否被定位到。超过时长,会报错。

http://www.dtcms.com/a/537277.html

相关文章:

  • 网站项目开发网站菜单导航制作教程
  • 兰州最好的网站建设公司青岛网站优化排名
  • 某汽车公司4S店携手Acrel-5000建筑能耗管理系统,实现连锁门店能源精细化管理新突破
  • LeetCode 刷题【135. 分发糖果】
  • 专业做网站建设的网站内页产品 首页推荐
  • TCP 流通信中的 EOFException 与 JSON 半包问题解析
  • Garnet技术深度解析:微软研究院出品的高性能缓存存储引擎
  • 如何制作论坛网站网页制作软件是哪个
  • 《从点击到响应:HTTP 请求是如何传出去的》
  • 科技+文化:从“参观游览”到“沉浸共生”的文旅产业革命
  • 做条形图的网站河南郑州网站建设
  • 青少儿机器人技术学什么?
  • 基本魔法语言数组 (一) (C语言)
  • php源码网站修改保定建设厅网站
  • 网站建设访问对象网站开发毕设的需求分析
  • 【实战】自然语言处理--长文本分类(2)BERTSplitLSTM算法
  • Markdown模板20251027
  • Linux命令解释:cp -r --parents用法
  • 关于企业的网站天津做网站找谁
  • 0138. 随机链表的复制
  • 长春网站建设公司seo是什么意思教程
  • 【vllm】源码解读:vLLM 中 Data Parallelism DP=8 核心原理详解
  • 对信号的理解
  • 【系统分析师】高分论文:论软件的安全性设计(某校通系统)
  • 硬盘专业名词:总线、协议、接口详细解析
  • Agent Skills应用解析:构建可扩展、高效率AI探员
  • 【车载测试常见问题】CAN一致性测试包含哪些内容?
  • 成都网站开发制作上海进博会
  • 云手机和虚拟机的区别都有哪些?
  • php wap网站实现滑动式数据分页大公司网站开发