2016年10月22日,星期六

硒测试以检查网页中的链接是否正常

测试网页内的所有链接是否正常工作是最重要的测试方案。我们可以使用硒很容易地测试这种情况。我们知道链接将在内部 html标签<a> 我们可以使用By.tagName(“ a”)定位器,并在Java中使用迭代器来简化过程。

这个简单的示例将帮助您执行各种类型的测试,例如-

1.使用硒测试网页上的损坏链接。
2.单击一个链接或单击上的所有链接 验证链接的网页工作正常。
3.计算网页上的链接数。
4.在网页上获取链接列表。
5.在网页上找到无效链接的列表。

范例-

考虑我们要测试主页中的所有链接 www.qaautomated.com

测试用例 -

查看下面的测试用例,并阅读注释部分中提到的描述以了解流程。

package selenium.tests;

import java.util.List;



import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class TestAllLinks { 
 
 public static void 主要(String[] args) {
        String baseUrl = "http://www.yubo666.com/";
        System.setProperty("webdriver.chrome.driver", 
         "C:\\Users\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();
        String notWorkingUrlTitle = "Under Construction: QAAutomated";
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        driver.get(baseUrl);
        List<WebElement> linkElements = driver.findElements(By.tagName("a"));
        String[] linkTexts = new String[linkElements.size()];
        int i = 0;

        //extract the link texts of each link element
        for (WebElement elements : linkElements) {
            linkTexts[i] = elements.getText();
            i++;
        }

        //test each link
        for (String t : linkTexts) {
            driver.findElement(By.linkText(t)).click();
            if (driver.getTitle().equals(notWorkingUrlTitle )) {
                System.out.println("\"" + t + "\""
                        + " is not working.");
            } else {
                System.out.println("\"" + t + "\""
                        + " is working.");
            }
            driver.navigate().back();
        }
        driver.quit();
    }
}

输出-

“家”工作正常
“关于我”运行正常
“与我们联系”无效。

如果您觉得这很有用,请使用下面提供的共享选项与您的朋友分享该帖子。您可以在评论部分中写下您的反馈和建议。

6条评论:

  1. 当上面的代码执行时,我在线程中遇到了这个erorr-Exception"main"org.openqa.selenium.WebDriverException:元素在点(104.5,30)处不可单击。其他元素将获得点击:
    命令持续时间或超时:87毫秒

    回复删除
    回覆
    1. 我很高兴看到这篇文章。对于我们来说,这是一个内容丰富的博客,我们需要这种类型的博客,谢谢您的分享。 适用于学生的Python项目 数据分析是对原始数据进行剖析以便做出决策的研究。数据分析的进步和程序通常用于企业中,以使协会能够逐渐适应 钦奈的Python培训 明智的业务选择。在目前的全球商业中心,'足够汇编数据并进行数学运算;您应该意识到如何将这些数据应用于会影响行为的真实情况。在该程序中,您将首先精通专门技能,包括R和Python方言,这些常用于数据分析编程和使用。 钦奈的Python培训 鉴于行业细分领域中的真正业务问题,例如福利,促销和会计,此时,常识性应用围绕着常识应用。 钦奈项目中心

      删除
  2. 作为一种动态语言,其设计理念围绕可读性和简洁性而论,Python是用作脚本语言的流行选择。 印度的数据科学课程

    回复删除
  3. 开源程序功能强大,但可能难以使用。 命令行界面,最少的文档说明和没有内置的帮助会挑战习惯于GUI界面和商业软件中大量帮助文件的用户。 学习Flask的最佳课程

    回复删除