您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 第三讲Selenium自动化测试脚本的个性化处理和优化
Selenium自动化测试脚本个性化处理和优化目录WebDriver获取操作浏览器CreateWebDriver.javaQuitWebDriver.java具体业务操作MobileOpOrderNew.java邮件通知或告警Mail.javaSmtpAuth.java参数化ExcelParam.javaorderparameter.xls脚本处理WebDriver获取操作浏览器CreateWebDriver.javapublicclassCreateWebDriver{privateWebDriverdriver;publicWebDriverGetWebDriver(StringexploreType){if(exploreType.equals(ie)){try{//启动IEDriverServer.exe,调起浏览器,IE浏览器必须用到此程序System.setProperty(webdriver.ie.driver,C:\\ProgramFiles\\InternetExplorer\\IEDriverServer.exe);//new一个InternetExplorerDriver对象实例driver=newInternetExplorerDriver();//设置等待时间,以确保页面正常加载driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);}catch(IOExceptione){System.out.println(~~~~程序抛出IOException异常~~~);}catch(SessionNotFoundExceptionse){System.out.println(~~~~程序抛出SessionNotFoundException异常,页面没有正常启动~~~);}returndriver;}脚本处理WebDriver获取操作浏览器CreateWebDriver.java}elseif(exploreType.equals(firefox)){try{//new一个FirefoxDriver对象实例driver=newFirefoxDriver();//设置等待时间,以确保页面正常加载driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);}catch(IOExceptionie){System.out.println(~~~~程序抛出IOException异常,请检查原因~~~);}returndriver;}else{thrownewIllegalStateException(selectedexplorerisnotsupported:WebDriver不支持您所使用的浏览器);}}}WebDriver获取操作浏览器QuitWebDriver.javapublicclassQuitWebDriver{publicvoidquitWebDriver(WebDriverdriver){SetStringwindows=driver.getWindowHandles();for(Stringa:windows){driver.switchTo().window(a).close();}try{Thread.sleep(15);driver.quit();}catch(InterruptedExceptionex){System.out.println(~~~~程序抛出InterruptedException异常~~~);}}}脚本处理具体业务操作MobileOpOrderNew.javaprivatebooleanerrorHandle(WebDriverdriver,StringerrorMsg){StringbodyText=driver.findElement(By.cssSelector(BODY)).getText();if(bodyText.matches(^[\\s\\S]*HTTP500-内部服务器错误[\\s\\S]*$)){results=失败;System.out.println(用户下单失败,开始发送邮件);//设置邮件标题mail.setSubject(96515家庭服务网自动化测试用例:移动客服坐席平台下单,测试结果:+results);//设置邮件内容mail.setContent(自动化用例执行时间为:+getStringDateShort()+br+本用例主要测试点为:br+1.登录客服坐席平台br+2.输入关键字\移动\搜索企业,然后下单br+3.输入相关资料,完成下单br+===========================================================br+bfontcolor=\red\+errorMsg+br+页面报错500,可能服务器宕机,请检查原因,当前页面返回的url链接为:br+driver.getCurrentUrl()+br当前页面的内容为:br+driver.getPageSource()+/font/b);mail.send();System.out.println(!!!errorHandle方法中页面报错500,请检查服务器!!!);}脚本处理具体业务操作MobileOpOrderNew.java}elseif(bodyText.matches(^[\\s\\S]*404[\\s\\S]*$)){results=失败;System.out.println(errorHandle方法中用户下单失败,开始发送提醒邮件);//设置邮件标题mail.setSubject(96515家庭服务网自动化测试用例:移动客服坐席平台下单,测试结果:+results);//设置邮件内容mail.setContent(自动化用例执行时间为:+getStringDateShort()+br+本用例主要测试点为:br+1.登录客服坐席平台br+2.输入关键字\移动\搜索企业,然后下单br+3.输入相关资料,完成下单br+===========================================================br+bfontcolor=\red\+errorMsg+br+bfontcolor=\red\页面报错404,可能页面丢失,请检查原因,当前页面返回的url链接为:br+driver.getCurrentUrl()+br当前页面的内容为:br+driver.getPageSource()+/font/b);mail.send();System.out.println(!!!errorHandle方法中页面报错404,可能页面丢失,请检查原因!!!);}脚本处理具体业务操作MobileOpOrderNew.javaelse{results=失败;System.out.println(errorHandle方法中页面报错404,开始发送提醒邮件);//设置邮件标题mail.setSubject(96515家庭服务网自动化测试用例:移动客服坐席平台下单,测试结果:+results);//设置邮件内容mail.setContent(自动化用例执行时间为:+getStringDateShort()+br+本用例主要测试点为:br+1.登录客服坐席平台br+2.输入关键字\移动\搜索企业,然后下单br+3.输入相关资料,完成下单br+===========================================================br+bfontcolor=\red\+errorMsg+br+bfontcolor=\red\请检查,当前页面返回的url链接为:br+driver.getCurrentUrl()+br当前页面的title为:br+driver.getTitle()+br当前页面的内容为:br+driver.getPageSource()+/font/b);//发送邮件mail.send();System.out.println(!!!errorHandle方法中出现500和404以外的问题,请检查!!!);}returnfalse;}脚本处理邮件通知或告警Mail.javapublicHashMapString,Stringsend(){HashMapString,Stringmap=newHashMapString,String();map.put(state,success);Stringmessage=邮件发送成功!;Sessionsession=null;Propertiesprops=System.getProperties();props.put(mail.smtp.host,smtpServer);if(ifAuth){//服务器需要身份认证props.put(mail.smtp.auth,true);SmtpAuthsmtpAuth=newSmtpAuth(username,password);session=Session.getDefaultInstance(props,smtpAuth);}else{props.put(mail.smtp.auth,false);session=Session.getDefaultInstance(props,null);}session.setDebug(true);Transporttrans=null;脚本处理邮件通知或告警Mail.javatry{Messagemsg=newMimeMessage(session);try{Addressfrom_address=newInternetAddress(from,displayName);msg.setFrom(from_address);}catch(java.io.UnsupportedEncodingExceptione){e.printStackTrace();}Address[]address=null;if(to!=null){address=newInternetAddress[to.length];for(inti=0;ito.length;i++){Strings=to[i];address[i]=newInternetAddress(s);}}脚本处理邮件通知或告警Mail.javamsg.setRecipients(Message.RecipientType.TO,address);msg.setSubject(subject);Multipartmp=newMimeMultipart();MimeBodyPartmbp=newMimeBodyPart();mbp.setContent(content.toString(),text/html;charset=gb2312);mp.addBodyPart(mbp);if(!file.isEmpty()){//有附件EnumerationStringefile=file.elements();while(efile.hasMoreElements()){mbp=newMimeBodyPart();filename=efile.nextElement().toString();//选择出每一个附件名FileDataSourcefds=newFileDataSource(filename);//得到数据源mbp.setDataHandler(newDataHandler(fds
本文标题:第三讲Selenium自动化测试脚本的个性化处理和优化
链接地址:https://www.777doc.com/doc-2183694 .html