Selenium - 自动化测试框架

Selenium 介绍

Selenium 是目前用的最广泛的 Web UI 自动化测试框架,核心功能就是可以在多个浏览器上进行自动化测试,支持多种编程语言,目前已经被 google,百度,腾讯等公司广泛使用。

开发步骤

1、配置 google 驱动的环境变量,如果不配置需要在代码中指定驱动位置。

2、eclipse 中导入 Java Selenium 的依赖。

3、编写脚本代码。

登录网站

复制代码
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(300000, TimeUnit.SECONDS);
driver.get("http://192.168.2.169:8090/login");
driver.findElement(By.name("username")).sendKeys("wydong");
driver.findElement(By.name("cipher")).sendKeys("123456");
driver.findElement(By.id("login")).click();

元素定位

1、通过 id 定位。

2、通过 name 定位。

3、通过 tagName 定位。

4、通过 className 定位。

5、通过 linkText 定位(链接全部文字)。

6、通过 partialLinkText 定位(链接部分文字)。

7、通过 XPath 定位(相对路径)。

8、通过 cssSelector 定位(推荐使用)。

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等), 需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!

2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...

WebDriver 操作

1、获取页面源码。

2、获取当前页面的 url。

3、访问指定 url。

4、关闭驱动对象。

5、获取打开页面的句柄。

元素等待

1、硬性等待,线程休眠。

2、隐式等待,在超时时间段内,不断查找元素。

3、显试等待,一直等到某个条件符合后才继续执行。

WebDriver 需要切换场景

1、操作 alert 弹框。

2、操作 confirm 弹框。

3、操作 iframe 内元素。

4、操作 Window 元素。

其他

1、通过 JavascriptExcutor 对象执行脚本来操作一些页面元素。

2、通过 Action 对象,可以模仿鼠标的一些特殊操作,如右键、拖拽。

3、非 input 框的上传,利用第三方的工具实现文件上传(如autoit)。

4、遇到验证码的处理:手动去除、图片识别或者万能验证码(后台验证必过)。

5、借助其他专业的框架,可以生成漂亮的测试报告。

相关推荐
丁浩66619 分钟前
Python机器学习---2.算法:逻辑回归
python·算法·机器学习
B站_计算机毕业设计之家41 分钟前
计算机毕业设计:Python农业数据可视化分析系统 气象数据 农业生产 粮食数据 播种数据 爬虫 Django框架 天气数据 降水量(源码+文档)✅
大数据·爬虫·python·机器学习·信息可视化·课程设计·农业
Q_Q5110082851 小时前
python+uniapp基于微信小程序的旅游信息系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
鄃鳕1 小时前
python迭代器解包【python】
开发语言·python
懷淰メ2 小时前
python3GUI--模仿百度网盘的本地文件管理器 By:PyQt5(详细分享)
开发语言·python·pyqt·文件管理·百度云·百度网盘·ui设计
Q_Q5110082852 小时前
python基于web的汽车班车车票管理系统/火车票预订系统/高铁预定系统 可在线选座
spring boot·python·django·flask·node.js·汽车·php
新子y2 小时前
【小白笔记】普通二叉树(General Binary Tree)和二叉搜索树的最近公共祖先(LCA)
开发语言·笔记·python
囚生CY2 小时前
【速写】优化的深度与广度(Adam & Moun)
人工智能·python·算法
Query*2 小时前
Java 设计模式——工厂模式:从原理到实战的系统指南
java·python·设计模式
爱学习的uu2 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程