springboot——集成selenium模拟登陆

版权声明:本文为个人学习总结,欢迎转载,转载时请附加原文链接 https://blog.csdn.net/cockroach02/article/details/88667962

一、添加selenium依赖

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

二、下载chromeDriver

点击ChromeDriver地址进入,选择本地chrome版本一致的chromeDriver

三、springboot集成代码

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT, properties={"server.port=1000"})
public class DemoApplicationIntegrationTests {
	@LocalServerPort
	private int port;
	@Autowired
	private TestRestTemplate restTemplate;
	
	private static ChromeDriver browser;
	
	@BeforeClass
	public static void openBrowser() {
		System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
		browser = new ChromeDriver();
		browser.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
	}
	
	@AfterClass
	public static void closeBrowser() {
		browser.quit();
	}
	
	@Test
	public void test_unauthLogin() throws Exception {
		browser.get("http://localhost:" + port);
		WebElement username = browser.findElementById("username");
		WebElement password = browser.findElementById("password");
		WebElement submit = browser.findElementByClassName("btn");
		username.sendKeys("root");
		password.sendKeys("root");
		submit.click();
		Set<Cookie> cookies = browser.manage().getCookies();
		for (Cookie cookie : cookies) {
			System.out.println(cookie.toJson());
		}
	}
	
	@Test
	@WithMockUser(username="root", password="root")
	public void test_getBook() {
		Book book = restTemplate.getForObject("http://localhost:" + port + "/book/9c829f84-2c44-4ec3-baa9-0cab0ea4c4b3",
				Book.class);
		assertEquals("22", book.getName());
		assertEquals("33", book.getAuthor());
		assertEquals(1.0F, book.getPrice(), 0.01F);
	}
}

四、参考链接

  1. SpringBoot 2.0.3 集成selenium进行测试
  2. 使用selenium webdriver实现自动登录CSDN

猜你喜欢

转载自blog.csdn.net/cockroach02/article/details/88667962