什么是Selenium框架?
Selenium框架是一种代码结构,用于简化代码维护和提高代码可读性。框架涉及将整个代码分成较小的代码段,以测试特定的功能。
该代码的结构使得“数据集”与实际的“测试用例”分开,后者将测试Web应用程序的功能。它也可以通过以下方式构造:从外部应用程序(例如.csv)调用(调用)需要执行的测试用例。
有许多框架,但是3个常用的Selenium框架是:
数据驱动框架
关键字驱动框架
混合框架
为什么我们需要一个Selenium框架?
如果没有合适的框架,将只有一个测试用例,其中包含了整个测试功能。可怕的是,这个单一的测试用例最多可以上升一百万行代码。因此,显而易见,如此庞大的测试案例将很难阅读。即使您以后想要修改任何功能,修改代码也将很困难。
由于框架的实施,将产生较小但多个代码段,因此有许多好处。
Selenium 框架的好处
增加代码重用
改进的代码可读性
更高的便携性
精简脚本 保养
既然您已经了解了框架的基础知识,那么让我详细解释每个框架。
数据驱动框架
Selenium中的数据驱动框架是一种将“数据集”与实际“测试用例”(代码)分离的技术。该框架完全取决于输入的测试数据。测试数据来自外部源,例如excel文件,.CSV文件或任何数据库。
由于测试用例与数据集是分开的,因此我们可以轻松修改特定功能的测试用例,而无需对代码进行大量更改。例如,如果您想修改用于登录功能的代码,则可以只进行修改,而不必同时修改同一代码中的任何其他相关部分。
除此之外,您还可以轻松控制需要测试的数据量。您可以通过向excel文件(或其他来源)添加更多用户名和密码字段来轻松增加测试参数的数量。
例如,如果我必须检查登录到网页,那么我可以将用户名和密码凭据集保留在excel文件中,并将凭据传递给代码以在单独的Java类文件中在浏览器上执行自动化。
将Apache POI与Selenium WebDriver一起使用
WebDriver不直接支持读取excel文件。因此,我们使用Apache POI 读取/写入任何Microsoft Office文档。您可以从此处下载Apache POI(JAR文件集)。根据您的要求下载zip文件或tar文件,并将它们与Selenium JAR集一起放置。
TestNG数据提供程序将处理主要代码和数据集之间的协调,TestNG数据提供程序 是一个库,它是Apache POI JAR文件的一部分。出于演示目的,我创建了一个名为“ LoginCredentials”的Excel文件,其中的用户名和密码已存储在不同的列中。
查看下面的代码以了解测试用例。它是用于测试航班预订应用程序登录功能的简单代码。
package DataDriven;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class DDTExcel
{
ChromeDriver driver;
@Test(dataProvider="testdata")
public void DemoProject(String username, String password) throws InterruptedException
{
System.setProperty("webdriver.chrome.driver", "C:UsersVardhanDownloadschromedriver.exe");
driver = new ChromeDriver();
driver.get("http://