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是和期望结果一样有序排列的。
}
Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)的更多相关文章
- ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动
一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...
- 无法定位 Local Database Runtime 安装。请验证 SQL Server Express 是否正确安装以及本地数据库运行时功能是否已启用。
错误描述: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provide ...
- array.fliter无法正确过滤出我想要的数组
var checked_list = state.files.filter(function(item, id){ // console.log('click the ' + item.id); re ...
- selenium验证车贷计算器算法
1.验证页面上的车贷计算器算的结果是否与需求中给的公式结果一致. 页面图片: 代码如下(简单实现,需要优化): package com.test; import java.math.BigDecima ...
- js&jquery验证邮箱和手机号是否正确范例
实现源码: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ...
- [Selenium]验证点了某个Button之后无反应
期望:点了某个Button,无反应 问题:怎么去验证无反应 WebElement webElement = page.getICORemove(); SeleniumUtil.hover(page.g ...
- php 验证(检查)日期格式是否正确
/** * 检查指定字符串是否为日期格式 年-月-日 * @param $date 日期字符串 * @return bool true 是日期格式 false 不是日期格式 */function va ...
- java selenium验证元素是否存在
public boolean ElementExist(WebDriver driver,By locator) { try { driver.findEle ...
- log4net截取配置错误信息,(验证配置信息是否配置正确)
在</system.web>之后 <!--log4错误日志配置:开始--> <system.diagnostics> <trace autoflush=&qu ...
随机推荐
- bootstrap datatable项目封装支持单选多选
自己在开发项目是根据自己的项目后台框架封装的jquery datatable插件基本上能集成到任何项目中使用,当然封装的还不够完美,给大家学习 调侃 使用介绍:query_dataTable({tab ...
- 遍历关联数组 index by varchar2
--字符串序列要这样 declare type t is table of number(3) index by varchar2(3); hash_t t; l_row ...
- sqlserver bak还原
一.查看: restore filelistonly from disk='F:\Db\A_backup.bak' 二.还原:RESTORE DATABASE AFROM DISK = 'F:\Db\ ...
- MSSQL - 逻辑主键、业务主键和复合主键
转载自:http://blog.csdn.net/sunrise918/article/details/5575054 这几天对逻辑主键.业务主键和复合主键进行了一些思考,也在网上搜索了一下相关的讨论 ...
- oracle 查询
1. ORACLE查询数据中所存在的表 http://www.cnblogs.com/juddhu/archive/2012/03/22/2411406.html 查询数据库中所有的表: select ...
- Mac 实用工具
命令行常用工具: Iterm2 也是一个终端命令行工具,支持多工作区,使用清爽 http://www.iterm2.com/documentation.html 给你的命令行 代码上色 Solariz ...
- SQLiteLog (1) no such Column:
今天在进入sqlite数据库查询的时候出现了这个问题,SQLiteLog (1) no such Column: BGZ 搜索得知这是因为数据库中没有这一列,我的sql语句为" ...
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
[SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...
- Linux开发环境的搭建和使用——Linux 常用的命令使用
概要 视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完毕了窃取资料的任务. Linux 刚出世时没有什么图形界面.全部的操作全靠命令完毕.就如同电视里的黑客 ...
- jar包生制作几种方法,jar包导出三种方法:eclipse导出、jar命令、FatJar插件
Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三 ...