Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignHandle.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignHandle.java (.../SignHandle.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignHandle.java (.../SignHandle.java) (revision 33939) @@ -1,7 +1,44 @@ package test.forgon.disinfectsystem.selenium3.page.sign; +import org.openqa.selenium.interactions.Actions; + +import test.forgon.disinfectsystem.selenium3.Utils; import test.forgon.disinfectsystem.selenium3.basepage.BaseHandle; +/** + * 签收页面操作层 + * @author yuandongxiao + * + */ public class SignHandle extends BaseHandle { + //引入签收页面对象库层 + private SignPage signPage = new SignPage(); + + public void scan_barcode(String barcode){ + try { + Actions actions = new Actions(Utils.driver); + actions.moveToElement(signPage.get_sign_table()).sendKeys(barcode+"\n").perform(); + //增加强制等待,否则扫描太快,连续扫描的条码会拼接在一起 + Thread.sleep(1000); + logger.info("扫描条码:"+barcode+"成功!"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 点击生成签收记录按钮 + */ + public void click_create_sign_record_btn(){ + signPage.get_create_sign_record_btn().click(); + } + + /** + * 点击查看签收历史记录按钮 + */ + public void click_sign_record_btn(){ + signPage.get_sign_record_btn().click(); + } + } Fisheye: Tag 33939 refers to a dead (removed) revision in file `ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/userecord/UserecordPage.java'. Fisheye: No comparison available. Pass `N' to diff? Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/Utils.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/Utils.java (.../Utils.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/Utils.java (.../Utils.java) (revision 33939) @@ -1,5 +1,19 @@ package test.forgon.disinfectsystem.selenium3; +import static org.monte.media.FormatKeys.EncodingKey; +import static org.monte.media.FormatKeys.FrameRateKey; +import static org.monte.media.FormatKeys.KeyFrameIntervalKey; +import static org.monte.media.FormatKeys.MIME_AVI; +import static org.monte.media.FormatKeys.MediaTypeKey; +import static org.monte.media.FormatKeys.MimeTypeKey; +import static org.monte.media.VideoFormatKeys.CompressorNameKey; +import static org.monte.media.VideoFormatKeys.DepthKey; +import static org.monte.media.VideoFormatKeys.ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE; +import static org.monte.media.VideoFormatKeys.QualityKey; + +import java.awt.AWTException; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsEnvironment; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -10,11 +24,16 @@ import java.util.ArrayList; import java.util.List; import java.util.Scanner; +import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.log4j.Logger; +import org.monte.media.Format; +import org.monte.media.FormatKeys.MediaType; +import org.monte.media.math.Rational; +import org.monte.screenrecorder.ScreenRecorder; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; @@ -46,7 +65,8 @@ public static String serverAddress;//服务器地址 public static String browser;//浏览器名称 public static List packingBarcodes = new ArrayList();//装配产生的包实例条码 - + public static ScreenRecorder screenRecorder;//屏幕录制 + /** *初始化chrome浏览器驱动 */ @@ -306,4 +326,42 @@ //可能页面上会显示多条提示信息,只取最后一条 return extTips.get(extTips.size()-1).getText(); } + + /** + * 屏幕录制 + */ + public static void initscreenRecorder(){ + GraphicsConfiguration gconfig = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration(); + try { + screenRecorder = new ScreenRecorder(gconfig, new Format(MediaTypeKey, + MediaType.FILE, MimeTypeKey, MIME_AVI), new Format( + MediaTypeKey, MediaType.VIDEO, EncodingKey, + ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE, CompressorNameKey, + ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE, DepthKey, (int) 24, + FrameRateKey, Rational.valueOf(15), QualityKey, 1.0f, + KeyFrameIntervalKey, (int) (15 * 60)), new Format(MediaTypeKey, + MediaType.VIDEO, EncodingKey, "black", FrameRateKey, + Rational.valueOf(30)), null); + // 开始捕获视频 + screenRecorder.start(); + } catch (IOException e) { + e.printStackTrace(); + } catch (AWTException e) { + e.printStackTrace(); + } + } + + /** + * 当打开了两个窗口时,跳转至非当前窗口 + */ + public static void switchBetweenTwoWins(){ + // 获取所有窗口 + Set handles = Utils.driver.getWindowHandles(); + // 删除当前窗口 + handles.remove(Utils.driver.getWindowHandle()); + //跳转至非当前窗口 + for (String windowHandle : handles) { + Utils.driver.switchTo().window(windowHandle); + } + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewPage.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewPage.java (.../ReviewPage.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewPage.java (.../ReviewPage.java) (revision 33939) @@ -1,7 +1,5 @@ package test.forgon.disinfectsystem.selenium3.page.review; -import java.util.List; - import org.openqa.selenium.By; import org.openqa.selenium.WebElement; Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignRecordHandle.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignRecordHandle.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sign/SignRecordHandle.java (revision 33939) @@ -0,0 +1,28 @@ +package test.forgon.disinfectsystem.selenium3.page.sign; + +import test.forgon.disinfectsystem.selenium3.basepage.BaseHandle; + +/** + * 签收记录页面操作层 + * @author yuandongxiao + * + */ +public class SignRecordHandle extends BaseHandle { + //引入签收记录页面对象库层 + private SignRecordPage signRecordPage = new SignRecordPage(); + + /** + * 点击查看详情按钮 + */ + public void click_view_details_btn(){ + signRecordPage.get_view_details_btn().click(); + } + + /** + * 签收详情的总记录条数 + * @return + */ + public String get_sign_details_info_text(){ + return signRecordPage.get_sign_details_info().getText(); + } +} Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewProxy.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewProxy.java (.../ReviewProxy.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/review/ReviewProxy.java (.../ReviewProxy.java) (revision 33939) @@ -1,5 +1,6 @@ package test.forgon.disinfectsystem.selenium3.page.review; +import io.qameta.allure.Step; import test.forgon.disinfectsystem.selenium3.Utils; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -19,12 +20,13 @@ * @param tousseBarcodes * @return */ + @Step("通过扫描条码审核物品") public String review_by_scan_barcodes(String reviewerBarcode,JSONArray tousseBarcodes){ reviewHandle.scan_barcode(reviewerBarcode); //循环添加待审核物品 for(int i=0;i handles = Utils.driver.getWindowHandles(); - // 删除当前窗口 - handles.remove(Utils.driver.getWindowHandle()); - //跳转到回收清点窗口并最大化 - for (String windowHandle : handles) { - Utils.driver.switchTo().window(windowHandle); - Utils.driver.manage().window().maximize(); - } + Utils.switchBetweenTwoWins(); + Utils.driver.manage().window().maximize(); } /** @@ -99,4 +92,32 @@ personalDesktopHandle.click_sterilization_group(sterilizationGroup); personalDesktopHandle.switch_to_sterilization_frame(); } + + /** + * 点击跳转到发货计划标签页 + */ + @Step("点击跳转到发货计划标签页") + public void go_invoice_plan(){ + personalDesktopHandle.click_invoice_plan_icon(); + personalDesktopHandle.switch_to_invoice_plan_frame(); + } + + /** + * 点击跳转到物品签收标签页 + */ + @Step("点击跳转到物品签收标签页") + public void go_sign(){ + personalDesktopHandle.click_sign_icon(); + personalDesktopHandle.switch_to_sign_frame(); + } + + /** + * 点击跳转到使用记录标签页 + */ + @Step("点击跳转到使用记录标签页") + public void go_use_record(){ + personalDesktopHandle.click_use_record_icon(); + personalDesktopHandle.switch_to_use_record_frame(); + } + } Fisheye: Tag 33939 refers to a dead (removed) revision in file `ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/userecord/UserecordHandle.java'. Fisheye: No comparison available. Pass `N' to diff? Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestUseRecord.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestUseRecord.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestUseRecord.java (revision 33939) @@ -0,0 +1,93 @@ +package test.forgon.disinfectsystem.selenium3.testscript; + +import io.qameta.allure.Allure; +import io.qameta.allure.Story; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.log4j.Logger; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openqa.selenium.OutputType; +import org.openqa.selenium.TakesScreenshot; +import org.openqa.selenium.WebDriverException; + +import test.forgon.disinfectsystem.selenium3.Utils; +import test.forgon.disinfectsystem.selenium3.page.login.LoginProxy; +import test.forgon.disinfectsystem.selenium3.page.personaldesktop.PersonalDesktopProxy; +import test.forgon.disinfectsystem.selenium3.page.userecord.UseRecordProxy; + +/** + * 测试使用记录功能 + * @author yuandongxiao + * + */ +public class TestUseRecord { + public static Logger logger = Logger.getLogger(TestUseRecord.class);//日志器 + private LoginProxy loginProxy = new LoginProxy(); + private UseRecordProxy useRecordProxy = new UseRecordProxy(); + private PersonalDesktopProxy personalDesktopProxy = new PersonalDesktopProxy(); + private static JSONObject addUseRecordJsonObj;//新增使用记录测试用例参数 + + + @BeforeClass + public static void setUp_class(){ + Utils.init(); + addUseRecordJsonObj = Utils.testcaseData.getJSONObject("test_add_use_record"); + } + + @Story("测试新增使用记录") + @Test + public void test_add_use_record(){ + JSONObject operator = addUseRecordJsonObj.getJSONObject("operator");//操作人 + String hospitalNum = addUseRecordJsonObj.getString("hospitalNum");//住院号 + String treatmentNum = addUseRecordJsonObj.getString("treatmentNum");//诊疗号 + String circuitNurse = addUseRecordJsonObj.getString("circuitNurse");//巡回护士 + String operationRoom = addUseRecordJsonObj.getString("operationRoom");//手术间 + String patientName = addUseRecordJsonObj.getString("patientName");//姓名 + String patientAge = addUseRecordJsonObj.getString("patientAge");//年龄 + String patientSex = addUseRecordJsonObj.getString("patientSex");//性别 + String patientArea = addUseRecordJsonObj.getString("patientArea");//病区 + String departNameOfPatient = addUseRecordJsonObj.getString("departNameOfPatient");//病人所在科室 + String patientRoom = addUseRecordJsonObj.getString("patientRoom");//病室 + String patientBed = addUseRecordJsonObj.getString("patientBed");//床位 + String patientIDCard = addUseRecordJsonObj.getString("patientIDCard");//身份证号 + String doctorName = addUseRecordJsonObj.getString("doctorName");//医生 + String operation = addUseRecordJsonObj.getString("operation");//手术名称 + String operationScheduleId = addUseRecordJsonObj.getString("operationScheduleId");//手术单号 + String visitTimes = addUseRecordJsonObj.getString("visitTimes");//住院次数 + String specialInfection = addUseRecordJsonObj.getString("specialInfection");//感染类型 + String remark = addUseRecordJsonObj.getString("remark");//备注 + JSONArray tousseBarcodes = addUseRecordJsonObj.getJSONArray("tousseBarcodes");//物品条码 + String expect = addUseRecordJsonObj.getString("expect");//预期结果 + + //登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + + //录入使用记录 + personalDesktopProxy.go_use_record(); + String result= useRecordProxy.add_use_record(hospitalNum, treatmentNum, circuitNurse, operationRoom,patientName, patientAge, patientSex, patientArea, departNameOfPatient, patientRoom, patientBed, patientIDCard, doctorName, operation, operationScheduleId, visitTimes, specialInfection, remark, tousseBarcodes); + Assert.assertTrue(result.contains(expect)); + } + + @After + public void tearDown() throws FileNotFoundException, WebDriverException, InterruptedException{ + //用例跑完后,添加截图到测试报告 + Allure.addAttachment("测试用例完成截图", "image/png",new FileInputStream(((TakesScreenshot) Utils.driver).getScreenshotAs(OutputType.FILE)), ".png"); + //退出系统 + Utils.driver.navigate().refresh(); + personalDesktopProxy.exit_system(); + } + + @AfterClass + public static void tearDown_class(){ + Utils.quitDriver(); + } +} Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestMainProcess.java =================================================================== diff -u -r33782 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestMainProcess.java (.../TestMainProcess.java) (revision 33782) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestMainProcess.java (.../TestMainProcess.java) (revision 33939) @@ -6,13 +6,16 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.util.List; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.log4j.Logger; import org.junit.After; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.OutputType; @@ -21,10 +24,16 @@ import test.forgon.disinfectsystem.selenium3.Utils; import test.forgon.disinfectsystem.selenium3.page.apply.ApplyProxy; +import test.forgon.disinfectsystem.selenium3.page.delivery.DeliveryProxy; import test.forgon.disinfectsystem.selenium3.page.login.LoginProxy; +import test.forgon.disinfectsystem.selenium3.page.pack.PackProxy; import test.forgon.disinfectsystem.selenium3.page.personaldesktop.PersonalDesktopProxy; import test.forgon.disinfectsystem.selenium3.page.recycle.AwaitForRecycleProxy; import test.forgon.disinfectsystem.selenium3.page.recycle.RecycleProxy; +import test.forgon.disinfectsystem.selenium3.page.review.ReviewProxy; +import test.forgon.disinfectsystem.selenium3.page.sign.SignProxy; +import test.forgon.disinfectsystem.selenium3.page.sterile.SterileProxy; +import test.forgon.disinfectsystem.selenium3.page.userecord.UseRecordProxy; import test.forgon.disinfectsystem.selenium3.page.wash.WashProxy; /** @@ -34,38 +43,74 @@ */ @Feature("测试主流程功能") public class TestMainProcess { + public static Logger logger = Logger.getLogger(TestMainProcess.class);//日志器 private LoginProxy loginProxy = new LoginProxy(); private PersonalDesktopProxy personalDesktopProxy = new PersonalDesktopProxy(); private ApplyProxy applyProxy = new ApplyProxy(); private AwaitForRecycleProxy awaitForRecycleProxy = new AwaitForRecycleProxy(); private RecycleProxy recycleProxy = new RecycleProxy(); private WashProxy washProxy = new WashProxy(); + private PackProxy packProxy = new PackProxy(); + private ReviewProxy reviewProxy = new ReviewProxy(); + private SterileProxy sterileProxy = new SterileProxy(); + private DeliveryProxy deliveryProxy = new DeliveryProxy(); + private SignProxy signProxy = new SignProxy(); + private UseRecordProxy useRecordProxy = new UseRecordProxy(); private static JSONObject nomalTousseProcessJsonObj;//普通器械包闭环流程用例参数 @BeforeClass public static void setUp_class(){ Utils.init(); - nomalTousseProcessJsonObj = Utils.testcaseData.getJSONObject("test_normal_tousse_process"); + nomalTousseProcessJsonObj = Utils.testcaseData.getJSONObject("test_main_process_of_normal_tousse"); } @Story("普通器械包闭环流程") @Test - public void test_main_process_of_normal_tousse() { + public void test_main_process_of_normal_tousse() throws InterruptedException { JSONObject applyUser = nomalTousseProcessJsonObj.getJSONObject("apply_user");//申领科室用户 JSONObject handleUser = nomalTousseProcessJsonObj.getJSONObject("handle_user");//处理科室用户 JSONArray applyTousseList = nomalTousseProcessJsonObj.getJSONArray("apply_tousse_list");//申领物品集合 + String applyDepart = nomalTousseProcessJsonObj.getString("apply_depart");//申领科室 String handleDepart = nomalTousseProcessJsonObj.getString("handle_depart");//处理科室 String appType = nomalTousseProcessJsonObj.getString("application_type");//申请单类型 JSONArray recyclingBasketBarcodes = nomalTousseProcessJsonObj.getJSONArray("recycling_basket_barcodes");//回收篮筐条码 String disinfectMachineBarcode = nomalTousseProcessJsonObj.getJSONObject("wash_machine").getString("machineBarcode");//清洗机条码 String disinfectProgramBarcode = nomalTousseProcessJsonObj.getJSONObject("wash_program").getString("programBarcode");//清洗程序条码 + String taskGroup = nomalTousseProcessJsonObj.getString("task_group");//装配任务 + String sterilizationGroup = nomalTousseProcessJsonObj.getString("sterilization_group");//灭菌炉分组 + String sterilizerBarcode = nomalTousseProcessJsonObj.getJSONObject("sterilizer").getString("barcode");//灭菌炉条码 + String sterilizationProgramBarcode = nomalTousseProcessJsonObj.getJSONObject("sterilization_program").getString("barcode");//灭菌程序条码 + String sterilizationPurpose = nomalTousseProcessJsonObj.getString("sterilization_purpose");//灭菌目的 + JSONObject useRecordParams = nomalTousseProcessJsonObj.getJSONObject("useRecordParams");//使用记录录入的参数 + String expect = nomalTousseProcessJsonObj.getString("expect");//预期结果 + String hospitalNum = useRecordParams.getString("hospitalNum");//住院号 + String treatmentNum = useRecordParams.getString("treatmentNum");//诊疗号 + String circuitNurse = useRecordParams.getString("circuitNurse");//巡回护士 + String operationRoom = useRecordParams.getString("operationRoom");//手术间 + String patientName = useRecordParams.getString("patientName");//手术间 + String patientAge = useRecordParams.getString("patientAge");//手术间 + String patientSex = useRecordParams.getString("patientSex");//性别 + String patientArea = useRecordParams.getString("patientArea");//病区 + String departNameOfPatient = useRecordParams.getString("departNameOfPatient");//病人所在科室 + String patientRoom = useRecordParams.getString("patientRoom");//病室 + String patientBed = useRecordParams.getString("patientBed");//床位 + String patientIDCard = useRecordParams.getString("patientIDCard");//身份证号 + String doctorName = useRecordParams.getString("doctorName");//医生 + String operation = useRecordParams.getString("operation");//手术名称 + String operationScheduleId = useRecordParams.getString("operationScheduleId");//手术单号 + String visitTimes = useRecordParams.getString("visitTimes");//住院次数 + String specialInfection = useRecordParams.getString("specialInfection");//感染类型 + String remark = useRecordParams.getString("remark");//备注 + //临床科室用户登录 loginProxy.go_login_by_btn(applyUser.getString("username"), applyUser.getString("password")); //申领 personalDesktopProxy.go_apply(); applyProxy.apply_tousse(handleDepart, applyTousseList); + + //临床科室用户退出登录 personalDesktopProxy.exit_system(); //处理科室用户登录 @@ -76,17 +121,77 @@ awaitForRecycleProxy.choose_most_recent_application_by_type(appType); recycleProxy.recycle_by_normal_into_basket(handleUser.getString("barcode"), handleUser.getString("barcode"), recyclingBasketBarcodes); - //关闭回收页面 - Set windowHandles = Utils.driver.getWindowHandles(); - windowHandles.remove(Utils.driver.getWindowHandle()); - //跳转会个人桌面窗口 - for (String windowHandle : windowHandles) { - Utils.driver.switchTo().window(windowHandle); - } + //关闭回收页面并跳转到个人桌面窗口 + Utils.switchBetweenTwoWins(); //清洗 personalDesktopProxy.go_wash(); washProxy.disinfect_by_scan_barcodes(disinfectMachineBarcode, disinfectProgramBarcode, handleUser.getString("barcode"), recyclingBasketBarcodes); + + //装配 + Utils.driver.navigate().refresh(); + personalDesktopProxy.go_pack(taskGroup); + packProxy.normal_packing(recyclingBasketBarcodes,handleUser.getString("barcode"),handleUser.getString("barcode")); + + Thread.sleep(2000);//等待装配完成 + List packingBarcodeList = Utils.getToussesBarcodes();//获取装配条码 + logger.debug("本次装配产生的包实例条码:"+packingBarcodeList); + + //将装配条码从List转换为JSONArray + JSONArray packingBarcodes = new JSONArray(); + JSONObject barcode = new JSONObject(); + for(int i=0;i signDetailsInfos = get_elements(signDetailsInfo); + return signDetailsInfos.get(signDetailsInfos.size()-1);//此页面会返回两条列表页码信息,最后一个才是我们需要的 + } +} Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/personaldesktop/PersonalDesktopHandle.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/personaldesktop/PersonalDesktopHandle.java (.../PersonalDesktopHandle.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/personaldesktop/PersonalDesktopHandle.java (.../PersonalDesktopHandle.java) (revision 33939) @@ -145,4 +145,46 @@ public void switch_to_sterilization_frame(){ Utils.driver.switchTo().frame(personalDesktopPage.get_sterilization_frame()); } + + /** + * 点击发货计划图标 + */ + public void click_invoice_plan_icon(){ + personalDesktopPage.get_invoice_plan_icon().click(); + } + + /** + * 跳转到发货计划标签页 + */ + public void switch_to_invoice_plan_frame(){ + Utils.driver.switchTo().frame(personalDesktopPage.get_invoice_plan_frame()); + } + + /** + * 点击签收图标 + */ + public void click_sign_icon(){ + personalDesktopPage.get_sign_icon().click(); + } + + /** + * 跳转到签收标签页 + */ + public void switch_to_sign_frame(){ + Utils.driver.switchTo().frame(personalDesktopPage.get_sign_frame()); + } + + /** + * 点击使用记录图标 + */ + public void click_use_record_icon(){ + personalDesktopPage.get_use_record_icon().click(); + } + + /** + * 点击跳转到使用记录标签页 + */ + public void switch_to_use_record_frame(){ + Utils.driver.switchTo().frame(personalDesktopPage.get_use_record_frame()); + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/delivery/DeliveryProxy.java =================================================================== diff -u -r33862 -r33939 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/delivery/DeliveryProxy.java (.../DeliveryProxy.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/delivery/DeliveryProxy.java (.../DeliveryProxy.java) (revision 33939) @@ -1,5 +1,34 @@ package test.forgon.disinfectsystem.selenium3.page.delivery; -public class DeliveryProxy { +import io.qameta.allure.Step; +import test.forgon.disinfectsystem.selenium3.Utils; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +public class DeliveryProxy { + //引入发货计划页面操作层 + private DeliveryHandle deliveryHandle = new DeliveryHandle(); + + /** + * 普通科室发货 + * @param department + * @param senderBarcode + * @param assistantSenderBarcode + * @param barcodes + */ + @Step("普通科室发货") + public String delivery_by_department(String department,String senderBarcode,String assistantSenderBarcode,JSONArray barcodes){ + deliveryHandle.click_delivery_department(department); + Utils.driver.switchTo().defaultContent(); + deliveryHandle.scan_sender_barcode(assistantSenderBarcode); + deliveryHandle.scan_assistant_sender_barcode(assistantSenderBarcode); + //循环扫描物品 + for(int i=0;i