本人在学习selenium2java的时候,有个功能,需要测试分页,每页20条数据,一个个添加太麻烦了,关键每条都得添加十几个数据,干脆自己写了一个方法,自动添加一条自己的高中成绩。分享如下:
//添加高中成绩
public static void addRecord(WebDriver driver, int num) throws InterruptedException {
findElementByIdAndClick(driver, "btn-user");//点击个人中心
findElementByIdAndClick(driver, "btn-uc-record");//点击高中成绩
for(int n = 0;n<num;n++){
findElementByIdAndClick(driver, "btnAddRecord");//点击添加成绩
findElementByIdAndClick(driver, "button-toggle-semester_id");//点击学期
findElementByXpathAndClick(driver, ".//*[@id='dropdown-semester_id']/li["+getRandomInt(5)+"]/a");//选择学期
findElementByIdAndClick(driver, "button-toggle-exam_id");//点击考试
findElementByXpathAndClick(driver, ".//*[@id='dropdown-exam_id']/li["+getRandomInt(7)+"]/a");//点击老师类型
findElementByIdAndClick(driver, "button-toggle-year");//点击年份
findElementByXpathAndClick(driver, ".//*[@id='dropdown-year']/li["+getRandomInt(5)+"]/a");//选择年份
/*此处循环填写各科成绩,理科物综合
* 语数英 id123,物化生456,政史地789,理综10,文综11
*/
for(int i =1;i<7;i++){
findElementByIdAndClearSendkeys(driver, "input-score"+i, getRandomInt(100));
findElementByIdAndClearSendkeys(driver, "input-total_score"+i, 100);
}
findElementByIdAndClearSendkeys(driver, "input-additional_score", getRandomInt(10));//政策加分
findElementByIdAndClearSendkeys(driver, "input-ranking_province", getRandomInt(10000));//省排名
findElementByIdAndClearSendkeys(driver, "input-ranking_city", getRandomInt(1000));//市排名
findElementByIdAndClearSendkeys(driver, "input-ranking_district", getRandomInt(500));//区排名
findElementByIdAndClearSendkeys(driver, "input-ranking_school", getRandomInt(200));//学校排名
findElementByIdAndClearSendkeys(driver, "input-ranking_class", getRandomInt(50));//班级排名
findElementByIdAndClick(driver, "btnSave");//点击保存
sleep(1);
findElementByXpathAndClick(driver, "html/body/div[3]/div[7]/div/button");//点击确定保存
sleep(1);
findElementByXpathAndClick(driver, "html/body/div[3]/div[7]/div/button");//点击保存成功的确定
}
}
下面是我自定义生成随机数字的方法
//获取随机数
public static int getRandomInt(int num) {
return new Random().nextInt(num)+1;
}
之所以“+1”,防止0的出现。