Spring bootの基礎知識であるspringboot集積自動化テストseleniumはシミュレーション登録を行い、ユニットテスト(Java)を行った.
コードクラウドアドレス:https://gitee.com/hjc2/springboot.git
Googleブラウザに対応するドライバをダウンロードする必要があります.私のドライバは次のアドレスでダウンロードします.
http://chromedriver.storage.googleapis.com/index.html
コメントは詳細で、直接コードを入力します.
私の微信公衆番号に注目してください.もっと多くの内容は微信公衆番号で発表されます.
Googleブラウザに対応するドライバをダウンロードする必要があります.私のドライバは次のアドレスでダウンロードします.
http://chromedriver.storage.googleapis.com/index.html
コメントは詳細で、直接コードを入力します.
package com.dream.bootselenium.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.concurrent.TimeUnit;
/**
* :
* 〈selenium 〉
*
* @Param:
* @Return:
* @Author: huajiancheng
* @Date: 2020/9/12
*/
/**
* JUnit4 :
*
* @BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
* :
* @Before -> @Test -> @After;
**/
@RunWith(SpringRunner.class)
@SpringBootTest
public class AutomatedBySeleniumTest {
/**
* CSDN
**/
private final static String CSDN_URL = "https://www.csdn.net/";
/**
*
**/
private static ChromeDriver browser;
/**
*
**/
private final static String USERNAME = "*********";
/**
*
**/
private final static String PASSWORD = "*********";
/**
*
**/
@BeforeClass
public static void openBrowser() {
//
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
//
browser = new ChromeDriver();
//
browser.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
browser.manage().window().maximize();
}
/**
*
**/
@AfterClass
public static void closeBrowser() {
browser.quit();
}
/**
* :
* 〈 〉
*
* @Param: []
* @Return: void
* @Author: huajiancheng
* @Date: 2020/9/12
*/
public static String findLoginPage() {
//
browser.get(CSDN_URL);
//
WebElement webElement = browser.findElement(By.cssSelector("#csdn_container_tool > div > ul > li.userinfo > a"));
if (webElement != null) {
String realLoginUrl = webElement.getAttribute("href");
//
webElement.click();
return realLoginUrl;
}
return "";
}
/**
* :
* 〈 〉
*
* @Param: []
* @Return: void
* @Author: huajiancheng
* @Date: 2020/9/12
*/
public static void chooseLoginByWay(String loginUrl) throws InterruptedException {
//
browser.get(loginUrl);
// ,
WebElement webElement = browser.findElement(By.cssSelector("#app > div > div > div.main > div.main-login > div.main-select > ul > li:nth-child(2) > a"));
webElement.click();
// 3
Thread.sleep(3000);
//
browser.findElement(By.id("all")).sendKeys(USERNAME);
browser.findElement(By.id("password-number")).sendKeys(PASSWORD);
//
//
browser.findElement(By.id("password-number")).sendKeys(Keys.ENTER);
//
//
WebElement loginWebElement = browser.findElement(By.cssSelector("#app > div > div > div.main > div.main-login > div.main-process-login > div > div:nth-child(6) > div > button"));
loginWebElement.click();
// ,
}
@Test
public void start() throws InterruptedException {
System.out.println("************************CSDN ************************");
String realLoginUrl = findLoginPage();
if (!realLoginUrl.equals("")) {
Thread.sleep(2000);
chooseLoginByWay(realLoginUrl);
}
}
}
私の微信公衆番号に注目してください.もっと多くの内容は微信公衆番号で発表されます.