2015-10-06 55 views
-1

[![在这里输入的形象描述] [1] [1]硒webdriver的标签自动化验证

在图像的编号不是序列顺序,我需要验证,如果没有在序列1, 2,3,4然后测试用例通过否则失败。

社交网络URL#1: 文本框中

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

要验证编号应该去1,2,3,4

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

回答

-1

您可以通过driver.find_elements_by_css_selector(css_selector)与给定css_selector然后得到的所有元素,你可以得到它的.text文本最终检查数量sequencially增加:

的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 

的Java:

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; 
} 
+0

先生我正在使用java, – abhiman

+1

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

+0

@abhiman添加了java代码。 –