Web 运用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并实行一个测试用例中所描述的操作。
但是手工实行的任务随意马虎涌现人为的缺点,也比较费韶光。
因此,将这些任务自动化,就可以肃清人为成分。
Selenium 可以帮助我们自动化完成验收测试,通过构建更严格的测试,从而使软件更为可靠也更易于掩护。

Selenium 支持 Web 浏览器的自动化,它供应一套测试函数,用于支持 Web 自动化测试。
函数非常灵巧,能够完成界面元素定位、窗口跳转、结果比较等功能。
支持多种浏览器、多种编程措辞(Java、C#、Python、Ruby、PHP 等)、支持多种操作系统(Windows、Linux、IOS、Android 等)、开源免费。
它紧张由三个工具组成:WebDriver、IDE、Grid。

Selenium架构

在客户端(client)完成 Selenium 脚本编写,将脚本传送给 Selenium 做事器,Selenium 做事器利用浏览器驱动(driver)与浏览器(browser)进行交互。

seleniumphp安装教程技巧分享  Web主动化之Selenium安装 Java

Selenium核心组件

WebDriver 利用浏览器供应的 api 来掌握浏览器,就像用户在操作浏览器,不具有侵入性。
IDE 是 Chrome 和 Firefox 扩展插件,可以录制用户在浏览器中的操作。
Grid 用于 Selenium 分布式,你可以在多个浏览器和操作系统运行测试用例。
环境准备第一种办法

Python 自带的 pip 工具安装

Python 版本

pip install seleniumJava 版本

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>3.14.0</version></dependency>第二种办法Python 版本

安装 Selenium 的条件是拥有 Python 开拓环境(推举利用 PyCharm):

Selenium 是 Python 的第三方库,可采取 PyCharm 自带办法安装。

菜单栏 File -> Settings 进入配置界面:

搜索 Selenium -> Install Package:

Selenium 支持多种浏览器,须要下载对应的浏览器版本的驱动,将浏览器驱动位置设置到环境变量。

各个浏览器驱动下载地址:https://ceshiren.com/t/topic/3275

在 Python 文件中编写代码,如果程序能够调起相应浏览器,解释安装成功。

Java 版本

当利用 Maven 或 Gradle 等构建工具时,会自动加载依赖项。

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version></dependency><dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>4.0.0</version></dependency>实战演示Python 代码演示

#导入 Selenium 包from selenium import webdriver#创建一个 Chromdriver 的实例,Chrome()会从环境变量中探求浏览器驱动driver = webdriver.Chrome() # 打开 IE 浏览器# driver = webdriver.Ie() # 打开 Firefox 浏览器# driver = webdriver.Firefox()Java 代码演示

//导入 Selenium 包import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class AiceTest { public static void main(String[] args) throws InterruptedException { //创建一个 Chromdriver 的实例 WebDriver driver = new ChromeDriver(); }}

这段代码运行后会自动化的创建一个 Chrome 进程。

来霍格沃兹测试开拓学社,学习更多软件测试与测试开拓的进阶技能,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开拓、测试管理等内容,课程技能涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等干系技能,全面提升测试开拓工程师的技能实力。

获取更多内容:获取更多内容:https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=toutiao×tamp=1650265361