-
测试地址 http://121.40.156.59:8080/javamall/admin/backendUi!login.do
点击操作按钮,给海淀仓库增加30个进货量,点击保存,验证商品数量新增30。
@Test
public void testProduct() throws InterruptedException {driver.switchTo().frame(1);
//获取Table定位器 #advform > div > div > div.datagrid-view > div.datagrid-view2 > div.datagrid-body > table
By table=By.cssSelector("#advform > div > div > div.datagrid-view > div.datagrid-view2 > div.datagrid-body > table");
//调用TableUtils 获取第0行第3列的元素
WebElement element= TableUtils.getCell(driver, table, 0, 3);
//通过WebElement.getText()获取到元素数值
String before=element.getText();
//打印出原始库存
System.out.println(“原始库存:”+before);
//调用WebUtils获取第0行第4列的编辑单元格
WebElement elementUpdate= TableUtils.getCell(driver, table, 0, 4);
//获取编辑单元格中的链接元素,触发编辑功能
WebElement aElement=elementUpdate.findElement(By.tagName(“a”));
aElement.click();
Thread.sleep(2000);//获取库存编辑表格:#stock_box > div > table
By updateTable=By.cssSelector("#stock_box > div > table");
//stock表格的表头也计入处理,第一行数据的row=1,而不是0
WebElement stockCell=TableUtils.getCell(driver, updateTable, 1, 1);
//stock表格的第二列内嵌两个元素,进货量和进货按钮,通过Index获取按钮并处理
List list=stockCell.findElements(By.tagName(“input”));
//点击进货按钮
list.get(1).click();
Thread.sleep(2000);
//清空0,输入30进货量
list.get(0).clear();
list.get(0).sendKeys(“30”);
//保存库存修改
driver.findElement(By.cssSelector("#goodsStoreInfo > div.dialog-button > a > span")).click();
Thread.sleep(2000);
//获取修改后库存:此处需要重新获取表格元素,从而获取增加后的库存,否则会报stale element, 找不到表格元素
WebElement elementAfter= TableUtils.getCell(driver, table, 0, 3);
String after=elementAfter.getText();
System.out.println(“增加后库存:”+after);
//String类型转化为Integer类型,同时实现断言验证库存数量增加30
int beforeInt=Integer.parseInt(before);
int afterInt=Integer.parseInt(after);
Assert.assertEquals(afterInt-beforeInt, 30);
}