zoukankan      html  css  js  c++  java
  • Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)

    原代码:

     

    <select id="edit-submitted-im-interesting-in" class="form-select required" name="submitted[im_interesting_in]">
    
    <option value="1">Cloud Testing</option>
    
    <option value="2">Embedded System Testing</option>
    
    <option value="3">Globalization Testing</option>
    
    <option value="4">Offshore Test Center</option>
    
    <option value="5">System Integration Testing</option>
    
    <option value="6">Test Automation</option>
    
    <option value="7">Function Testing</option>
    
    <option value="8">Mobile Testing</option>
    
    <option value="9">Cloud Services</option>
    
    <option value="10">SKYPALACE</option>
    
    <option value="11">Mobile Test Automation</option>
    
    <option value="12">Test Automation Framework</option>
    
    <option value="13">IaaS Cloud Enablement</option>
    
    <option value="14">Desktop Virtualization</option>
    
    <option value="15">Others</option></select>
    

     

    Selenium Java版代码:

    int i=0;
    
     String c =
    
    "Cloud Testing,Embedded System Testing,Globalization Testing,Offshore Test Center,System Integration Testing,Test Automation,Function Testing,Mobile Testing,Cloud Services,SKYPALACE,Mobile Test Automation,Test Automation Framework,IaaS Cloud Enablement,Desktop Virtualization,Others";
    
     String[] ptext = c.split(",");
    
    //将期望的Picklist 下拉选项值赋值给一个数组。  
    
        Select sel =new Select(driver.findElement(By.xpath("//*[@id='edit-submitted-im-interesting-in']")));
    
    //用Xpath定位到该picklist.
    
    for(i =0;i<15;i++)
    
        {
    
             sel.selectByVisibleText(ptext[i]);
    
    //用selectByVisibleText()方法将目标的picklist找到,ptext[i]是数组的值,是一个变量,ptext[i]不要加“”。
    
            String a =driver.findElement(By.xpath("//*[@id='edit-submitted-im-interesting-in']")).getAttribute("value");
    
    //获取你找到的picklist的显示值,此处返回的是一个叫value属性的值,不是picklist文本
    
           assertEquals(ptext[i],driver.findElement(By.xpath("//option[@value='"+a+"']")).getText()); }
    
     //将找到的picklist的显示文本与目标文本比较,a是一个变量,注意其格式,a不要直接加“”。
    
          System.out.println("03.can be selected successfully.");
    
    //以上代码是验证picklist每一项能被正确选择。
    
        String[] ptext2=new String[15];
    
    for(i =0;i<15;i++)
    
        {
    
        sel.selectByIndex(i);
    
    //依次选择picklist
    
        String a =driver.findElement(By.xpath("//*[@id='edit-submitted-im-interesting-in']")).getAttribute("value");
    
        ptext2[i]=driver.findElement(By.xpath("//option[@value='"+a+"']")).getText();
    
    将picklist的文本值赋给一个数组
    
       if(!ptext[i].equals(ptext2[i]))
    
        {
    
          break;
    
        }
    
    //比较两个数组 //    ptext2.equals(ptext);也可以直接比较两个数组
    
    //以上验证picklist是和期望结果一样有序排列的。
    
        } 
  • 相关阅读:
    Java 位运算(移位、位与、或、异或、非)
    解决Android Studio 2.2.3中添加.cpp .h文件在Project->Android无法显示,无法正常编译问题。
    [ACM] HDU 5083 Instruction (模拟)
    Vbox视图热键
    Android Drawable 与 LayerList综合汇总
    数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
    HDU 2896 病毒侵袭 AC自己主动机题解
    对团队中“这是某某某的问题”引起的思考
    杭电 2201
    三层架构
  • 原文地址:https://www.cnblogs.com/xriverside/p/3950992.html
Copyright © 2011-2022 走看看