源代码:https://gitee.com/shentuzhigang/mini-project/tree/master/test-graduate

测试需求

  1. 浏览器(请用 Google 或 者 Firefox ,其他浏览器会产生样式不适配) 打 开 :http://114.215.176.95:60511/Graduate/login.jsp,输入管理员账号 adda,密码 123,选择管理员选项;

  2. 选择左侧菜单列表 “添加科室” 菜单项,添加相应的科室信息,包括科室编号、科室名字、和科室描述内容。注意科室编号不能与已有的重复。

  3. 选择左侧菜单列表->科室信息,选择科室编号搜索方式,并输入 131 编号,点击搜索

  4. 同样在同一界面,选择该科室信息的修改按钮,对科室描述内容进行修改,内容自定,
    并点击提交。

  5. 选择左侧医生管理->添加医生选项,并填写表单并提交,红色为必填。其中医生照片不
    需要填写,所属科室需选择耳鼻喉科,即对应编号为 131 的科室,如下图所示:

  6. 医生管理,选择医生编号并输入关键字点击按钮进行搜索,搜索编号不作要求,但需要
    查有此人,示例编号:1235

  7. 点击右侧修改按钮,修改该医生信息,只需将该医生描述改为副主任医生,并点击提交。

  8. 点击退出登录按钮,测试结束

测试步骤

  1. Selenium 脚本录制
  2. 导出Junit测试
  3. 完善脚本
package io.shentuzhigang.test.graduate;// Generated by Selenium IDE
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.core.IsNot.not;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Alert;
import org.openqa.selenium.Keys;import java.io.File;
import java.util.*;
import java.net.MalformedURLException;
import java.net.URL;
public class GraduateTest {private WebDriver driver;private Map<String, Object> vars;JavascriptExecutor js;@Beforepublic void setUp() {ChromeOptions options = new ChromeOptions();options.setBinary(new File("D:/ext/Google/Chrome/Application/chrome.exe"));driver = new ChromeDriver(options);js = (JavascriptExecutor) driver;vars = new HashMap<String, Object>();}@Afterpublic void tearDown() {driver.quit();}@Testpublic void test1() {driver.get("http://114.215.176.95:60511/Graduate/");driver.findElement(By.name("name")).sendKeys("adda");driver.findElement(By.name("pwd")).sendKeys("123");driver.findElement(By.cssSelector("label:nth-child(2)")).click();driver.findElement(By.cssSelector(".button")).click();driver.findElement(By.linkText("添加科室")).click();driver.switchTo().frame(0);driver.findElement(By.name("cNumber")).sendKeys("A01");driver.findElement(By.name("dName")).sendKeys("办公室");driver.findElement(By.name("dDec")).sendKeys("办公室");driver.switchTo().defaultContent();driver.findElement(By.linkText("科室信息")).click();driver.switchTo().frame(0);driver.findElement(By.id("keywords")).sendKeys("131");driver.findElement(By.linkText("搜索")).click();driver.findElement(By.linkText("修改")).click();driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.cssSelector("h2:nth-child(4)")).click();// 等待css渲染WebDriverWait wait = new WebDriverWait(driver,1);wait.until(ExpectedConditions.presenceOfElementLocated(By.linkText("添加医生")));driver.findElement(By.linkText("添加医生")).click();driver.switchTo().frame(0);driver.findElement(By.name("dNumber")).sendKeys("0001");driver.findElement(By.name("name")).sendKeys("吴有海");driver.findElement(By.name("dPwd")).sendKeys("123456");{WebElement dropdown = driver.findElement(By.name("cNumber"));dropdown.findElement(By.xpath("//option[. = '内分泌科']")).click();}driver.findElement(By.name("dInfo")).sendKeys("内分泌专家");driver.findElement(By.name("dResume")).sendKeys("主治医师");driver.findElement(By.name("dTel")).sendKeys("15300000000");driver.findElement(By.name("dEmail")).sendKeys("1600000000@qq.com");driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.linkText("医生管理")).click();driver.switchTo().frame(0);{WebElement dropdown = driver.findElement(By.id("s_istop"));dropdown.findElement(By.xpath("//option[. = '医生编号']")).click();}driver.findElement(By.id("keywords")).sendKeys("1235");driver.findElement(By.linkText("搜索")).click();driver.findElement(By.linkText("修改")).click();driver.findElement(By.name("dResume")).sendKeys("副主任医生");driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.linkText("退出登录")).click();}
}
  1. 移除Junit
package io.shentuzhigang.test.graduate.Example;import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;import java.io.File;/*** @author ShenTuZhiGang* @version 1.0.0* @email 1600337300@qq.com* @date 2021-06-13 19:37*/
public class Example {package io.shentuzhigang.test.graduate.Example;import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;import java.io.File;/*** @author ShenTuZhiGang* @version 1.0.0* @email 1600337300@qq.com* @date 2021-06-13 19:37*/
public class Example {// Mooctest Selenium Examplepublic static void test(WebDriver driver) {driver.get("http://114.215.176.95:60511/Graduate/");driver.findElement(By.name("name")).sendKeys("adda");driver.findElement(By.name("pwd")).sendKeys("123");driver.findElement(By.cssSelector("label:nth-child(2)")).click();driver.findElement(By.cssSelector(".button")).click();driver.findElement(By.linkText("添加科室")).click();driver.switchTo().frame(0);driver.findElement(By.name("cNumber")).sendKeys(String.valueOf(System.currentTimeMillis()));driver.findElement(By.name("dName")).sendKeys("办公室");driver.findElement(By.name("dDec")).sendKeys("办公室");driver.switchTo().defaultContent();driver.findElement(By.linkText("科室信息")).click();driver.switchTo().frame(0);driver.findElement(By.id("keywords")).sendKeys("131");driver.findElement(By.linkText("搜索")).click();driver.findElement(By.linkText("修改")).click();driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.cssSelector("h2:nth-child(4)")).click();// 等待css渲染WebDriverWait wait = new WebDriverWait(driver, 1);wait.until(ExpectedConditions.presenceOfElementLocated(By.linkText("添加医生")));driver.findElement(By.linkText("添加医生")).click();driver.switchTo().frame(0);driver.findElement(By.name("dNumber")).sendKeys(String.valueOf(System.currentTimeMillis()));driver.findElement(By.name("name")).sendKeys("吴有海");driver.findElement(By.name("dPwd")).sendKeys("123456");{WebElement dropdown = driver.findElement(By.name("cNumber"));dropdown.findElement(By.xpath("//option[. = '耳鼻喉科']")).click();}driver.findElement(By.name("dInfo")).sendKeys("内分泌专家");driver.findElement(By.name("dResume")).sendKeys("主治医师");driver.findElement(By.name("dTel")).sendKeys("15300000000");driver.findElement(By.name("dEmail")).sendKeys("1600000000@qq.com");driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.linkText("医生管理")).click();driver.switchTo().frame(0);{WebElement dropdown = driver.findElement(By.id("s_istop"));dropdown.findElement(By.xpath("//option[. = '医生编号']")).click();}driver.findElement(By.id("keywords")).sendKeys("1235");driver.findElement(By.linkText("搜索")).click();driver.findElement(By.linkText("修改")).click();driver.findElement(By.name("dInfo")).sendKeys("副主任医生");driver.findElement(By.cssSelector(".button")).click();driver.switchTo().defaultContent();driver.findElement(By.linkText("退出登录")).click();}// <!> Check if selenium-standalone.jar is added to build path.public static void main(String[] args) {// Run main function to test your script.ChromeOptions options = new ChromeOptions();options.setBinary(new File("D:/ext/Google/Chrome/Application/chrome.exe"));WebDriver driver = new ChromeDriver(options);try {test(driver);} catch (Exception e) {e.printStackTrace();} finally {driver.quit();}}}

测试结果


常见问题

Selenium3+MoocTest环境搭建常见问题解决方案

参考文章

功能测试——医疗管理系统相关推荐

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的后台医疗管理系统

    项目功能: 基于springboot+mybaits+mysql实现的后台医疗管理系统:主要有医生管理,患者管理,住院管理,预约挂号,病史信息查看等功能. 页面效果:

  2. 基于SSM的医院医疗管理系统的设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

  3. 数商云智慧医疗管理系统解决方案:医药电商系统实现智能化改造

    现在的互联网智慧医疗系统拥有强大的技术优势,支持连接政府.医疗服务机构.医药研发与流通.康养等,构建医疗大健康产业云生态,助力数字化升级.[数 商 云]医疗系统平台开发服务商依托基础设施能力.人才优势 ...

  4. php医疗管理系统(医院患者就诊档案管理系统)源码

    当前的医院医疗管理系统还不完全具备信息化与网络化.因此,开发这套医疗信息管理系统来帮助医院或门诊实现医疗管理的信息化.后台管理员功能模块,主要功能包括账号信息管理,医生信息管理,患者信息管理,科室信息 ...

  5. LIS医疗管理系统源码

    LIS医疗管理系统源码 产品特点: 1.打造数字化.高标准的LIS系统. 自动化.标准化和符合ISO15189高质量医疗标准 电子化验单并最终逐步现实无纸化   2.实现互联互通.资源共享 与其他系统 ...

  6. 医疗系统 java_基于Java的医疗管理系统

    [实例简介] 基于Java的医疗管理系统,本科生毕业设计,可以直接使用的 [实例截图] [核心代码] 医疗管理系统JAVA └── Hospital ├── src │   └── com │   └ ...

  7. SpringBoot+Vue项目医疗管理系统

    文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue.js .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual St ...

  8. asp.net部队院校医疗管理系统

    本部队院校医疗管理系统可以说是一个综合性的部队院校医疗管理系统,这它包含了患者管理,军医信息管理,药房管理员管理,科室信息管理,以及患者挂号,军医诊断和药房管理员拿药等多种功能,因而具有一定的实用性. ...

  9. 医疗管理系统-检查项管理

    目录 1. 需求分析 2. 基础环境搭建 2.1 导入预约管理模块数据表 2.2 导入预约管理模块实体类 2.3 导入项目所需公共资源 3. 新增检查项 3.1 完善页面 3.1.1 弹出新增窗口 3 ...

最新文章

  1. ddz指标最佳数值_一个良心操盘手的肺腑之言:炒股10年从未被套,只依靠RSI指标!...
  2. centos6 mysql密码_CentOS6.5下修改MySQL密码
  3. 关闭tcp服务器_2020年2月起,不支持TCP和UDP协议的DNS服务器将被强制关闭
  4. pselect 和 select
  5. Java设计模式透析之 —— 单例(Singleton)
  6. [MTK][FAQ20888] 开关机、重启时间优化
  7. 实现复制文本到剪贴板功能
  8. python报错:Empty suite
  9. HP1020打印机打印异常
  10. 树形结构数据, 已知某一子节点 ,一次向上获取所有父节点
  11. 如何把云服务器恢复到最原始的状态
  12. 读书笔记 - 《格鲁夫给经理人的第一课》
  13. 瑞萨RL78系列单片机报内存溢出故障的解决过程。RA78K0R error E3206: Segment ‘@@CODEL‘ can‘t allocate to memory - ignored
  14. 2021nian开源SLAM 算法
  15. 【Hive】快速入门~
  16. 数据结构(十六)——左高树(含合并过程详细图解)
  17. 大学生开学需要准备哪些数码产品、五款大学生必买的电子产品
  18. nodejs 实现二维码生成及图片合成
  19. 实践:链表实现控制台通讯录(C++)
  20. Vcenter升级兼容性列表

热门文章

  1. 给年轻程序员的几句话
  2. mysql还原数据库后日期显示3000_mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法...
  3. js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点
  4. 7-7 六度空间 (30分)_近30年仅6人生涯总决赛首秀得分30+ 浓眉哥能成下一个吗
  5. easypoi list中的map导出_Java中的集合类(List,Set.Map)
  6. mt4虚拟服务器在哪里看,mt4查看自己服务器地址
  7. python多态_Python 简明教程 21,Python 继承与多态
  8. python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)
  9. java语言编程基础_Java编程基础02——Java语言基础
  10. 二十四、爬取古诗网中的100首古诗文