在做自动化测试的时候,避免不了校验表格中的数据是否正确,而获取数据又成了一个难题,待测项目前台使用的是Dojo,且个别字段经过转义,无法通用Store直接获取。最开始用的是方法是通过使用WebDriver中的findElements得到行,遍历列,这样做比较慢,想了好长时间终于找到了。代码如下,如果你正在做Selenium自动化测试的开发,大家可以交流一下。
方法1:采用dojo.query()方法来取得前台Grid中的数据。优点:速度快
String jscode=
" var rownum = dijit.byId(\"" + this.id + "\").getRowManager().getRowCount(); " + //获取当前grid行数
" var headers = dojo.query(\"#"+this.id+" table[class='u-grid-master-header'] " +
"th[class~='u-grid-hcell'][colSpan='1']\"); " + //获取当前grid列数(无合并列)
" var colnum = headers.length; "+
" var rowdata = []; " +// 行数据
" var cell; " +
" for(var i=0;i<rownum;i++)" +
&