一、赛前基础知识储备
二、练习题对照答案
我的代码:
代码
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();
还有一点就是:我们在之后要输入我们的姓名和电话号码,又我们根据时间设置的姓名,所以我们把它赋给一个变量,保存起来。