原代码:

<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是和期望结果一样有序排列的。

    } 

Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)的更多相关文章

  1. ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

    一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...

  2. 无法定位 Local Database Runtime 安装。请验证 SQL Server Express 是否正确安装以及本地数据库运行时功能是否已启用。

    错误描述: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provide ...

  3. array.fliter无法正确过滤出我想要的数组

    var checked_list = state.files.filter(function(item, id){ // console.log('click the ' + item.id); re ...

  4. selenium验证车贷计算器算法

    1.验证页面上的车贷计算器算的结果是否与需求中给的公式结果一致. 页面图片: 代码如下(简单实现,需要优化): package com.test; import java.math.BigDecima ...

  5. js&jquery验证邮箱和手机号是否正确范例

    实现源码: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ...

  6. [Selenium]验证点了某个Button之后无反应

    期望:点了某个Button,无反应 问题:怎么去验证无反应 WebElement webElement = page.getICORemove(); SeleniumUtil.hover(page.g ...

  7. php 验证(检查)日期格式是否正确

    /** * 检查指定字符串是否为日期格式 年-月-日 * @param $date 日期字符串 * @return bool true 是日期格式 false 不是日期格式 */function va ...

  8. java selenium验证元素是否存在

    public boolean ElementExist(WebDriver driver,By locator)    {        try {            driver.findEle ...

  9. log4net截取配置错误信息,(验证配置信息是否配置正确)

    在</system.web>之后 <!--log4错误日志配置:开始--> <system.diagnostics> <trace autoflush=&qu ...

随机推荐

  1. 真机測试时的错误:No matching provisioning profiles found

    1.出现错误的原因是这种---- 公司接收一个外包项目,原来做真机測试的时候,用的是公司申请的苹果开发人员账号.如今项目结束了,准备上线,但客户要求使用客户自己的苹果开发人员是账号上线,于是就用客户的 ...

  2. Principle of Computing (Python)学习笔记(5) BFS Searching + Zombie Apocalypse

    1 Generators   Generator和list comprehension非常类似 Generators are a kind of iterator that are defined l ...

  3. 略懂 MySQL字符集

    本文虽说旨在明白.但若略懂亦可.毕竟诸葛孔明如是     只有基于字符的值才有所谓字符集的概念     某些字符集可能需要更多CPU.消费更多的内存和磁盘空间.甚至影响索引使用     这还不包括令人 ...

  4. cocos2d-x游戏开发系列教程-坦克大战游戏关卡选择场景的编写下

    上篇文章写了Paddle类来处理精灵的点击.触摸事件,现在我们在Paddle的基础上 写一个MyPaddle类,来处理上一关.下一关.开始游戏按钮的点击事件. 1.类声明如下: class MyPad ...

  5. javascript定义类和类的实现

    首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = fun ...

  6. AIX用户管理

    用户和组管理     /etc/passwd     /etc/security/.profile     /etc/security/limits     /etc/security/passwd ...

  7. Ubuntu 14.04LTS Gnome GUI初体验及163更新源配制

    Ubuntu 14.04 LTS于前天(2014.4.17)公布, 我今天将我的系统升级到最新, 体验了下最新的UI系统. 我选择了Ubuntu Gnome 的GUI界面.我曾经的系统是12.04lt ...

  8. android JSON数据格式 解析

    一.   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.  Json建构于两种结构:  最后再加一种格式在文章的最后显示出来非常少有的格式   ...

  9. ASP.NET - 禁用ViewState

    默认情况下,ViewState是被启用的,比如提交表单后,表单中输入的值会自动保留.但是如果不需要保留,也可以将其禁用,这样可以节省资源.   下面3种方式就可以分别禁用某一个控件.某一个页面和整个应 ...

  10. 红眼技术博客 » redis连接池红眼技术博客 » redis连接池

    红眼技术博客 » redis连接池 redis连接池