本人在学习selenium2java的时候,遇到过一个弹框上传大杂烩的用例,特别是有一个选时间的,得先选时,再选分。费死老劲了重要写完,没啥大坑,就是比较复杂。
//生成班课 public static void createFormalCourseAndSale(WebDriver driver, String grade, String subject) throws InterruptedException { clickCourse(driver); clickFormalCourse(driver); clickAddCourse(driver); findElementByIdAndClearSendkeys(driver, "input-title", "测试班课"+grade+subject);//输入课程标题 findElementByIdAndClick(driver, "button-toggle-grade");//选择年级 findElementByTextAndClick(driver, grade); findElementByIdAndClick(driver, "button-toggle-subject");//选择科目 findElementByTextAndClick(driver, subject); findElementByIdAndClearSendkeys(driver, "input-description", "测试招生人数1人");//输入知识点 findElementByIdAndClick(driver, "button-toggle-teacher_id");//选择主讲老师 findElementByTextAndClick(driver, "李"); findElementByIdAndClick(driver, "input-enroll_deadline_date");//选择截止日期 findElementByTextAndClick(driver, "30"); sleep(0); findElementByIdAndClick(driver, "input-enroll_deadline_time");//选择截止时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[8]/div[3]/div/div[2]/div[1]"); sleep(0); findElementByXpathAndClick(driver, "html/body/div[8]/div[3]/div/div[3]/div[1]"); findElementByIdAndClearSendkeys(driver, "input-time_des", "测试招生人数1人");//输入时间描述 findElementByIdAndClearSendkeys(driver, "input-orig_price", 230);//输入价格 findElementByIdAndClearSendkeys(driver, "input-totalEnrollLimit", 1);//输入人数 findElementByIdAndClearSendkeys(driver, "input-video_url", "http://cdn.gaotu100.com/video/mingdoudou0505.mp4");//输入介绍视频视频 findElementByIdAndClearSendkeys(driver, "input-detail_url", "http://www.gaotu100.com/course/XE4007.html");//输入班课详情 findElementByIdAndClick(driver, "input-start_time_date");//选择开始日期 findElementByTextAndClick(driver, "29"); sleep(0); findElementByIdAndClick(driver, "input-start_time_time");//选择开始时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[9]/div[3]/div/div[2]/div[1]"); sleep(0); findElementByXpathAndClick(driver, "html/body/div[9]/div[3]/div/div[3]/div[1]"); findElementByIdAndClick(driver, "input-end_time_date");//选择截止日期 findElementByTextAndClick(driver, "30"); sleep(0); findElementByIdAndClick(driver, "input-end_time_time");//选择截止时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[10]/div[3]/div/div[2]/div[1]"); sleep(0); findElementByXpathAndClick(driver, "html/body/div[10]/div[3]/div/div[3]/div[1]"); findElementByIdAndClearSendkeys(driver, "input-deliver_cost", 20);//输入运费 scrollToTop(driver);//滚动最上方 findElementByIdAndClick(driver, "button-toggle-teacher_list");//选择辅导老师 findElementByXpathAndClick(driver, ".//*[@id='choice-container-teacher_list']/div[6]/div/label/i"); findElementByIdAndClick(driver, "btn-ok-teacher_list");//确定 sleep(0); findElementByIdAndClick(driver, "button-toggle-tag_list");//选择课程特色 findElementByXpathAndClick(driver, ".//*[@id='choice-container-tag_list']/div[1]/div/label/i"); findElementByXpathAndClick(driver, ".//*[@id='choice-container-tag_list']/div[2]/div/label/i"); findElementByXpathAndClick(driver, ".//*[@id='choice-container-tag_list']/div[3]/div/label/i"); findElementByXpathAndClick(driver, ".//*[@id='choice-container-tag_list']/div[4]/div/label/i"); findElementByIdAndClick(driver, "btn-ok-tag_list");//确定 sleep(0); findElementByIdAndClick(driver, "button-toggle-recommend_list");//选择推荐课程 findElementByXpathAndClick(driver, ".//*[@id='choice-container-recommend_list']/div[7]/div/label/i"); sleep(0); findElementByXpathAndClick(driver, ".//*[@id='choice-container-recommend_list']/div[8]/div/label/i"); findElementByIdAndClick(driver, "btn-ok-recommend_list");//确定 sleep(0); findElementByIdAndClearSendkeys(driver, "input-file-cover", "C:\\Users\\fankaiqiang\\Desktop\\123.JPG");//上传图片 clickSave(driver); sleep(0); clickSure(driver); boolean key1 = true; while(key1){//等待保存完毕,再次确认 if (exists(driver, By.xpath("html/body/div[12]/h2")) & getTextByXpath(driver, "html/body/div[12]/h2").equals("保存成功")) { key1 = false; break; } } clickSure(driver); boolean key = true; while(key){//等待直播课页面出现 if (exists(driver, By.id("input-begin_time_date"))) { key = false; break; } } findElementByIdAndClearSendkeys(driver, "input-title", "直播课1");//输入直播课名称 findElementByIdAndClick(driver, "input-begin_time_date");//选择开始日期 findElementByTextAndClick(driver, "30"); sleep(0); findElementByIdAndClick(driver, "input-begin_time_time");//选择开始时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[3]/div[3]/div/div[2]/div[2]");//选择1点开始 sleep(0); findElementByXpathAndClick(driver, "html/body/div[3]/div[3]/div/div[3]/div[1]"); findElementByIdAndClick(driver, "input-end_time_time");//选择结束时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[4]/div[3]/div/div[2]/div[3]");//选择两点结束 sleep(0); findElementByXpathAndClick(driver, "html/body/div[4]/div[3]/div/div[3]/div[1]"); findElementByIdAndClick(driver, "button-toggle-live_address_id");//选择直播间 findElementByXpath(driver, ".//*[@id='dropdown-live_address_id']/li["+getRandomInt(5)+"]/a");//此处随机设置直播间避免时间冲突 findElementByIdAndClick(driver, "input-exercise_deadline_date");//选择作业截止日期 findElementByTextAndClick(driver, "30"); sleep(0); findElementByIdAndClick(driver, "input-exercise_deadline_time");//选择作业截止时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[5]/div[3]/div/div[2]/div[7]");//选择六点截止 sleep(0); findElementByXpathAndClick(driver, "html/body/div[5]/div[3]/div/div[3]/div[1]"); findElementByIdAndClick(driver, "input-revise_deadline_date");//选择作业订正日期 findElementByTextAndClick(driver, "30"); sleep(0); findElementByIdAndClick(driver, "input-revise_deadline_time");//选择作业订正时间 sleep(0); findElementByXpathAndClick(driver, "html/body/div[6]/div[3]/div/div[2]/div[8]");//选择七点截止 sleep(0); findElementByXpathAndClick(driver, "html/body/div[6]/div[3]/div/div[3]/div[1]"); findElementByIdAndClearSendkeys(driver, "input-exercise_number", 5);//输入试题数目 sleep(0); clickSave(driver); sleep(0); clickSure(driver); boolean key2 = true; while(key2){//等待保存完毕,再次确认 if (exists(driver, By.xpath("html/body/div[8]/h2")) & getTextByXpath(driver, "html/body/div[8]/h2").equals("保存成功")) { key2 = false; break; } } clickSure(driver); sleep(1); findElementByTextAndClick(driver, "返回"); clickCourse(driver); clickFormalCourse(driver); findElementByXpathAndClick(driver, ".//*[@id='btnContainer0']/div[1]/button[2]");//点击审核 findElementByXpathAndClick(driver, ".//*[@id='btnContainer0']/div[1]/ul/li[2]/a");//点击在售 sleep(1); clickSure(driver); } 这里着重说一下中间这个地方的几行代码,判断条件必须是&链接,不能用&&,不然会报错的。
boolean key2 = true; while(key2){//等待保存完毕,再次确认 if (exists(driver, By.xpath("html/body/div[8]/h2")) & getTextByXpath(driver, "html/body/div[8]/h2").equals("保存成功")) { key2 = false; break; } } 发几张弹框的图片
方案分享
- 性能测试框架
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 如何测试概率型业务接口
- httpclient处理多用户同时在线
- 将swagger文档自动变成测试代码
- 五行代码构建静态博客
- httpclient如何处理302重定向
- 基于java的直线型接口测试框架初探