慕测官网——练习——超市管理系统

一、赛前基础知识储备 

 

 

 

 

 

 

 

 

 

二、练习题对照答案 

 我的代码:

代码 

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.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Example {

	
	// 测试方法
	public static void test(WebDriver driver) {
		// 打开网页
		driver.get("http://120.26.37.204:8088/marks/login/");
		// 最大化
		driver.manage().window().maximize();

		// 选择【账号输入框】并做【输入】操作,输入【admin】
		driver.findElement(By.name("userName")).sendKeys("admin");
		// driver.findElement(By.name("userName")).sendKeys("admin", Keys.TAB,
		// "123456");
		// . 选择【密码输入框】并做【输入】操作,输入【123456】
		driver.findElement(By.name("passWord")).sendKeys("123456");
		// 选择【登录】并做【点击】操作
		driver.findElement(By.id("loginFormBtn")).click();

		// 选择【系统用户管理】并做【点击】操作
		WebDriverWait wait = new WebDriverWait(driver, 10);
		WebElement XiTongYongHuGuanLi = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[2]/div[2]/div[2]/a")));
		XiTongYongHuGuanLi.click();
		// driver.findElement(By.xpath("/html/body/div[2]/div[2]/div[2]/a")).click();
		// 选择【添加】并做【点击】操作
		WebElement TianJia = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[3]/div[2]/div[1]/button")));
		TianJia.click();
		// 输入账号密码(账号密码可任意输入、不可重复输入)
		// WebElement form = driver.findElement(By.tagName("form"));
		// form.findElement(B)
		WebElement username = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[4]/div[2]/form/div[1]/input")));
		username.sendKeys("187");
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[2]/input")).sendKeys("2004");
		// 选择【用户姓名输入框】并做【输入】操作,输入任意内容(不可重复输入)
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[3]/input")).sendKeys("李聪聪");
		// 选择【用户年龄】并做【输入】操作,输入内容为【20】
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[4]/input")).sendKeys("20");
		// 选择【用户性别栏】,选择【女】并做【点击】操作
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[5]/input[2]")).click();
		// 选择【用户类型】,选择【采购员】并做【点击】操作
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[6]/input[2]")).click();
		// 选择【联系电话】并做【输入】操作,输入内容为任意手机号。
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[7]/input")).sendKeys("15909299073");
		// 选择【联系地址】并做【输入】操作,输入内容为【江苏南京】
		driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[8]/input")).sendKeys("江苏南京");
		// 选择【提交】并做【点击】操作
		driver.findElement(By.id("addFormBtn")).click();
		// 选择【我知道】并做【点击】操作
		WebElement WoZhiDao = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[9]/div[2]/div[2]/button")));
		WoZhiDao.click();
		// 选择【用户名输出框】并做【输入】操作,输入内容为所添加用户时创建的用户名
		driver.findElement(By.xpath("/html/body/div[3]/div[1]/div[2]/div[2]/input")).sendKeys("李聪聪");
		// 选择【联系电话输入框】并做【输入】操作,输入内容为添加用户时所填写的号码
		driver.findElement(By.xpath("/html/body/div[3]/div[1]/div[2]/div[3]/input")).sendKeys("15909299073");
		// 选择【搜索】并做【点击】操作
		driver.findElement(By.xpath("//button[@type=\"button\" and @class=\"fater-btn fater-btn-form-qry\"]")).click();
		// 选择【删除】并做【点击】操作
		driver.findElement(By.xpath(
				"//button[@type=\"button\" and @event=\"del\" and @class=\"fater-btn fater-btn-danger fater-btn-sm\"]"))
				.click();
		// 选择【确认】并做【点击】操作(此处不做评分点)
		WebElement QueRenSanChu = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(
				"//button[@event=\"ok\" and @type=\"button\" and @class=\"fater-btn fater-btn-primary fater-btn-sm\"]")));
		QueRenSanChu.click();
		// 选择【会员等级设置】并做【点击】操作
		driver.findElement(By.linkText("会员等级设置")).click();
		// 选择【添加】并做【点击】操作
		driver.findElement(
				By.xpath("//button[@event=\"add\" and @type=\"button\" and @class=\"fater-btn fater-btn-primary\"]"))
				.click();
		// 选择【级别名称】并做【输入】操作,输入内容为【钻石】(此处不做评分点)

		WebElement JiBieMingCheng = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[4]/div[2]/form/div[1]/input")));

		JiBieMingCheng.sendKeys("钻石");
		// 选择【消费额度】并做【输入】操作,输入内容为【1000】
		driver.findElement(By.xpath("//input[@type=\"text\" and @name=\"total\" and @placeholder=\"请输入消费额度\" ]"))
				.sendKeys("1000");

		// 选择【折扣优惠】并做【输入】操作,输入内容为【0.5】
		driver.findElement(By.xpath("//input[@type=\"text\" and @name=\"discount\" and @placeholder=\"请输入折扣优惠\"]"))
				.sendKeys("0.5");
		;
		// 选择【提交】并做【点击】操作(此处不设得分点)
		driver.findElement(By.id("addFormBtn")).click();
		// 选择【知道了】并做【点击】操作(此处不做评分点)
		WebElement ZhiDaoLe = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(
				"//button[@event='ok' and @type='button' and @class='fater-btn fater-btn-primary fater-btn-sm']")));
		ZhiDaoLe.click();
		// 选择【个人中心】并做【点击】操作
		driver.findElement(By.xpath("//div[@class='fater-user']")).click();
		// 选择【退出系统】并做【点击】操作

		WebElement TuiChuXiTong = wait
				.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@id='sessionExit']")));
		TuiChuXiTong.click();

	}

	public static void main(String[] args) throws InterruptedException {
		// Run main function to test your script.
		// 设置 ChromeDriver 可执行文件的路径
		System.setProperty("webdriver.chrome.driver",
				"C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
		// 加载浏览器
		WebDriver driver = new ChromeDriver();
		try {
			// 调用测试方法并传入driver
			test(driver);
		} catch (Exception e) {
			// 如果发生异常,打印堆栈跟踪
			e.printStackTrace();
		} finally {
			// 关闭浏览器
			// Thread.sleep(3000);
			// driver.quit();
		}
	}

}

改正的 

1.name = "userName"

2.cssSelector = "input[placeholder = 请输入登录账号]" 

3.xpath = "/html/body/div[1]/div/div[2]/form/div[1]/input" 或者 xpath = "//input[@type = "text" 4.and @name= "userName" and @placeholder = 请输入登录账号]"

 

 //*[@id="tableShow"]/table/tbody/tr/td[9]/button[2]

/html/body/div[9]/div[2]/div[2]/button[1]

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;

public class Example {

    public static void test(WebDriver driver) throws InterruptedException {

	//打开浏览器,打开浏览器后设置睡眠,其实是每个活动之后设置睡眠时间
	driver.get("http://120.26.37.204:8088/marks/login");
	Thread.sleep(1500);
		
    	//窗口最大化
    	driver.manage().window().maximize();
    	Thread.sleep(1500);
    	
    	//账号栏输入admin
    	driver.findElement(By.name("userNam")).sendKeys("admin");
    	Thread.sleep(1500);
    	
    	//密码栏输入123456
    	driver.findElement(By.name("passWord")).sendKeys("123456");
    	Thread.sleep(1500);
    	
    	//点击登录按钮
    	driver.findElement(By.id("loginFormBtn")).click();
    	Thread.sleep(1500);
    	
    	//选择系统用户管理并点击
    	driver.findElement(By.xpath("/html/body/div[2]/div[2]/div[2]/a")).click();
    	Thread.sleep(1500);
    	
    	//选择添加按钮并点击
    	driver.findElement(By.xpath("/html/body/div[3]/div[2]/div[1]/button")).click();
    	Thread.sleep(1500);
    	
    	//任意输入账号密码,不重复输入
    	driver.findElement(By.name("userName")).sendKeys("aaa");
    	Thread.sleep(1500);
    	driver.findElement(By.name("passWord")).sendKeys("123456");
    	Thread.sleep(1500);
    	
    	//选择用户姓名输入框进行输入,不可重复输入
    	driver.findElement(By.name("name")).sendKeys("Mary");
    	Thread.sleep(1500);
    	
    	//选择用户年龄并输入20
    	driver.findElement(By.name("age")).sendKeys("20");
    	Thread.sleep(1500);
    	
    	//选择用户性别栏,选择女,并点击
    	driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[5]/input[2]")).click();
    	Thread.sleep(1500);
    	
    	//选择用户类型,选择采购员并点击
    	driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[6]/input[2]")).click();
    	Thread.sleep(1500);
    	
    	//选择联系电话并输入任意手机号
    	driver.findElement(By.xpath("/html/body/div[4]/div[2]/form/div[7]/input	")).sendKeys("11122223333");
    	Thread.sleep(1500);
    	
    	//选择联系地址并输入“江苏南京”
    	driver.findElement(By.name("address")).sendKeys("江苏南京");
    	Thread.sleep(1500);
    	
    	//选择提交并点击
    	driver.findElement(By.id("addFormBtn")).click();
    	Thread.sleep(1500);
    	
    	//选择我知道并点击
    	driver.findElement(By.xpath("/html/body/div[9]/div[2]/div[2]/button")).click();
    	Thread.sleep(1500);
    	
    	//(查询栏)选择用户名输出框并输入刚才添加的用户的用户名
    	driver.findElement(By.cssSelector("input[placeholder='请输入用户姓名……']")).sendKeys("Mary");
    	Thread.sleep(1500);
    	
    	//选择联系电话输入框并输入刚才添加的电话
    	driver.findElement(By.cssSelector("input[placeholder='请输入联系电话……']")).sendKeys("11122223333");
    	Thread.sleep(1500);
    	
    	//选择搜索按钮并点击
    	driver.findElement(By.xpath("/html/body/div[3]/div[1]/div[2]/div[4]/button")).click();
    	Thread.sleep(1500);
    	
    	//选择删除并点击选择确认并点击
    	driver.findElement(By.xpath("//*[@id=\"tableShow\"]/table/tbody/tr/td[9]/button[2]")).click();
    	Thread.sleep(1500);
    	driver.findElement(By.xpath("/html/body/div[9]/div[2]/div[2]/button[1]")).click();
    	Thread.sleep(1500);
    	
    	//选择会员等级设置并点击
    	driver.findElement(By.linkText("会员等级设置")).click();
    	Thread.sleep(1500);
    	
    	//选择添加并点击
    	driver.findElement(By.xpath("/html/body/div[3]/div[2]/div[1]/button/span")).click();
    	Thread.sleep(1500);
    	
    	//选择级别名称并输入“钻石”
    	driver.findElement(By.cssSelector("input[placeholder='请输入级别名称']")).sendKeys("钻石");
    	Thread.sleep(1500);
    	
    	//选择消费额度并输入“1000”
    	driver.findElement(By.cssSelector("input[placeholder='请输入消费额度']")).sendKeys("1000");
    	Thread.sleep(1500);
    	
    	//选择折扣优惠并输入“0.5”
    	driver.findElement(By.cssSelector("input[placeholder='请输入折扣优惠']")).sendKeys("0.5");
    	Thread.sleep(1500);
    	
    	//选择提交并点击
    	driver.findElement(By.xpath("//*[@id=\"addFormBtn\"]")).click();
    	Thread.sleep(1500);
    	
    	//选择知道了并点击
    	driver.findElement(By.xpath("/html/body/div[9]/div[2]/div[2]/button")).click();
    	Thread.sleep(1500);
    	
    	//选择个人中心并点击
    	driver.findElement(By.className("fater-user")).click();
    	Thread.sleep(1500);
    	
    	//选择退出系统并点击
    	driver.findElement(By.id("sessionExit")).click();
    	Thread.sleep(1500);
    	
    	
    }
    public static void main(String[] args) {
         WebDriver driver = new ChromeDriver();
        try { test(driver); } 
        catch(Exception e) { e.printStackTrace(); }
        finally { driver.quit(); }
    }

}

一个优化点

总结:

需要优化的地方,我们再进行添加用户的时候,会多次输入我们的账号和姓名,为保证最后添加的是不同的人,我们加一个当前的时间,即name + System.currentTimeMillis();

还有一点就是:我们在之后要输入我们的姓名和电话号码,又我们根据时间设置的姓名,所以我们把它赋给一个变量,保存起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值