gpt4 book ai didi

java - 如何自动化我的网络驱动程序以从 Excel 工作表中获取数据并使用启动它?

转载 作者:行者123 更新时间:2023-12-02 09:13:30 25 4
gpt4 key购买 nike

所以我用 selenium 编写了一个脚本来启动一个网页并提取诸如标题名称、配件、评论数量等信息,验证页面中是否存在某些单词。例如我使用下面的代码:

String text = driver.findElement(By.xpath("//a[@class='text-m']")).getText();
System.out.println(text);

获取页面中的评论数量。

所以我在这里想做的是,我可以一次启动一个页面并获取信息。但我想启动多个页面,我已经使用 TestNG 进行并行执行,但我想知道是否有任何方法可以使用具有多个 URL 的 Excel 工作表并一一测试它们。有没有办法用 Selenium 来做到这一点。

如有任何帮助,我们将不胜感激。谢谢。

这是我在页面上查找信息的脚本。

public void test1() throws InterruptedException {

System.out.println("Test1");
System.setProperty("webdriver.chrome.driver", "chromedriver");
driver = new ChromeDriver();
driver.get("https://www.vikingbags.com/victory-high-ball-lamellar-large-leather-covered-non-shock-cutout-hard-saddlebags");
if(driver.getPageSource().contains("Fit"))
{
System.out.println("Fitment Present");
}
else
{
System.out.println("Fitment not present");
}
if(driver.getPageSource().contains("Installation Instructions"))
{
System.out.println("Installation Instructions Present");
}
else
{
System.out.println("Installation Instructions Not Present");
}

if(driver.getPageSource().contains("Watch Installation Video"))
{
System.out.println("Watch Installation Video Present");
}
else
{
System.out.println("Watch Instaltion Video not present");
}

if(driver.getPageSource().contains("Mounting Hardware:"))
{
System.out.println("Mounting Hardware Present");
}
else
{
System.out.println("Mounting Hardware Not Present");
}


if(driver.getPageSource().contains("Patent Number:"))
{
System.out.println("Patent Number Present");
}
else
{
System.out.println("Patent Number Not Present");
}

if(driver.getPageSource().contains("Dimensions:"))
{
System.out.println("Dimensions Present");
}
else
{
System.out.println("Dimensions Not Present");
}

if(driver.getPageSource().contains("Storage Capacity:"))
{
System.out.println("Storage Capacity Present");
}
else
{
System.out.println("Storage Capacity Not Present");
}

if(driver.getPageSource().contains("Turn Signal Relocation Kit:"))
{
System.out.println("Turn Signal RK Present");
}
else
{
System.out.println("Turn Signal RK Not Present");
}

if(driver.getPageSource().contains("Weight:"))
{
System.out.println("Weight Present");
}
else
{
System.out.println("Weight Not Present");
}

if(driver.getPageSource().contains("Lid Opening:"))
{
System.out.println("Lid Opening Present");
}
else
{
System.out.println("Lid Opening Not Present");
}
String text = driver.findElement(By.xpath("//a[@class='text-m']")).getText();
System.out.println(text);
System.out.println(driver.getTitle());
driver.close();

}

在第 4 行driver.get("您想要测试的 URL")。我如何使用 Excel 更改此设置并使用不同的链接?

最佳答案

选项 1 - 使用 Testng Dataprovider 发送 URL:

@DataProvider(name = "data-provider")
public Object[][] urldataProviderMethod() {

return new Object[][] { { "URL1" }, { "URL2" } };
}

@Test(dataProvider = "data-provider")
public void test1() throws InterruptedException {..

选项 2- 通过 Excel 工作表:请参阅https://www.seleniumeasy.com/testng-tutorials/import-data-from-excel-and-pass-to-data-provider 。希望这会有所帮助。

关于java - 如何自动化我的网络驱动程序以从 Excel 工作表中获取数据并使用启动它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59204645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com