繁体   English   中英

如何自动化我的 webdriver 从 Excel 工作表中获取数据并使用启动它?

[英]How do I automate my webdriver to take data from excel sheet and use launch it?

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

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

获取页面中的评论数量。

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

任何帮助,将不胜感激。 谢谢你。

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

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 you want to test") 我如何使用 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 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM