硒webdriver标签自动序列验证

时间:2015-10-06 14:06:26

标签: selenium selenium-webdriver

[![在此处输入图像说明] [1]] [1]

在图像中编号不按顺序排列,我需要验证序列1,2,3,4中是否没有,然后测试用例传递失败。

社交网络网址#1:  文本框

社交网络网址#2: 文本框 社交网络URL#1: 文本框 社交网络URL#1: 文本框

验证编号应该是1,2,3,4

请帮忙,他们不允许我附上图片以获得更多清关

1 个答案:

答案 0 :(得分:-1)

您可以使用给定的driver.find_elements_by_css_selector(css_selector)css_selector获取所有元素,然后通过.text获取文本,最后检查数字是否按顺序增加:

Python:

def check_if_sequencial(css_selector):
    result = True
    elms = driver.find_elements_by_css_selector(css_selector)

    for i in xrange(len(elms) - 1):
        text1 = elms[i].text
        text2 = elms[i+1].text

        # slicing after dash to end of string, convert to int
        number1 = int(text1[text1.index("#")+1 : len(text1)])
        number2 = int(text1[text2.index("#")+1 : len(text2)])

        if number2 != number1 + 1:
            print "number1: %d and number2: %d are not sequencial" %(number1, number2)
            result = False
            break

    return result

爪哇:

public boolean check_if_sequencial(String css_selector){
    boolean result = true;
    List elms = driver.findElements(By.cssSelector(css_selector));

    for (int i = 0; i < elms.length - 1; i++) {
        String text1 = elms[i].text;
        String text2 = elms[i+1].text;

        # spliting by dash take the second, convert to int
        String[] parts1 = text1.split("#"); 
        int number1 = Integer.parseInt(parts1[1]);

        String[] parts2 = text2.split("#"); 
        int number2 = Integer.parseInt(parts2[1]);

        if (number2 != number1 + 1){
            System.out.println("number1: " + number1 + " and number2: " + number2 + " are not sequencial");

            result = false;
            break;
        }
    }
    return result;
}