自动化测试
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
Selenium (WEB自动化工具)
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成
.Net、Java、Perl等不同语言的测试脚本。
操作登录csdn的案例
搭建测试环境的步骤:
开发工具:idea、谷歌浏览器
开发步骤
- 准备好浏览器驱动(根据浏览器版本选择对应的驱动),之前博客有链接
- 创建项目,我使用springboot的初始化容器创建
- 导入selenium依赖
- 编写脚本
1、驱动样图
2、创建工程样图
方法说明:
通过元素的ID定位元素: findElement(By.id());
通过元素的名称定位元素: findElement(By.name());
通过元素的html中的位置定位元素: findElement(By.xpath());
通过元素的标签名称定位元素: findElement(By.tagName());
通过元素的链接名称定位元素: findElement(By.linkText());
通过元素的类名定位元素: findElement(By.className());
通过元素的css定位元素: findElement(By.cssSelector());
通过元素的部分链接名称定位元素: findElement(By.partialLinkText());
实际使用:.方法名。
element的获取:
f12,之后进行下面操作:
定位要找的属性(id、name、css)
方法后可加的操作:
按钮类操作(点击): driver.findElement(By.id(element)).click();
给一些input标签(赋值): driver.findElement(By.id(element)).sendKeys(“值”);
实际代码:
@Test
public void test(){
//配置
System.setProperty("webdriver.chrome.driver", "D:\\java tools\\chromedriver_win32\\chromedriver.exe");
WebDriver webDriver = new ChromeDriver();
// 与浏览器同步非常重要,必须等待浏览器加载完毕
webDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//要加载的连接
webDriver.get("https://passport.csdn.net/login?code=public");
//通过css
webDriver.findElement(By.cssSelector("#app > div > div > div.main > div.main-login > div.main-select > ul > li:nth-child(2) > a")).click();
//通过id
webDriver.findElement(By.id("all")).sendKeys("小奔跳跳");
//通过name
webDriver.findElement(By.name("pwd")).sendKeys("小奔跳跳");
webDriver.findElement(By.cssSelector("#app > div > div > div.main > div.main-login > div.main-process-login > div > div:nth-child(6) > div > button")).click();
}
执行结果: