本人在学习使用selenium2java的过程中,遇到了测试支付宝和微信购买课程的用例,写起来略微复杂了一些,因为考虑到重复测试,得先修改用户订单状态,还得考虑用户已经买过、下单未付款、第一次购买等情况,中间用到了if-else if -else的判断语法,还得切换窗口。下面分享出来,供大家参考。
//购买班课
public static void BuyCourseWithoutPay(WebDriver driver) throws InterruptedException, ClassNotFoundException, SQLException {
MySql.alterUserOrdersStatus();//修改用户订单状态
clickCourseMore(driver);
selectGradeAndSubject(driver, "初一", "数学");
findElementByXpathAndClick(driver, "html/body/div[2]/div[3]/div[1]/ul/li[1]");//选择课程
clickApply(driver);
/*如果已经购买过尚未支付,会跳转到订单页面,点击支付,选择支付宝和微信,验证跳转页面title和弹框
* 注意切换窗口,支付宝会出现先窗口
* 如果没有购买过或者已经过期订单,会跳转到提交订单页面
*/
if (exists(driver, By.id("commitOrder"))) {//如果发现立即支付按钮,则去支付页面
clickCommitOrder(driver);//点击订单页面立即支付
findElementByClassNameAndClick(driver, "alipay");//选择支付宝支付
String homeha