selenium
junit
xpath
Java Excel→POI
エビデンス
package co.jp.sbi.bits.wcs.selenium.pagecase.hj;
import static org.junit.Assert.*;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
import co.jp.sbi.bits.wcs.selenium.pageob.hj.TestMenuPageBase;
import co.jp.sbi.bits.wcs.selenium.pageob.hj.TestMenuPageKaburui;
import co.jp.sbi.bits.wcs.selenium.pageob.hj.TestMenuTopPage;
public class WebDriverTest {
private WebDriver driver;
@BeforeClass
public static void Setup() {
System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe");
}
@Before
public void testBefore() {
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@After
public void testAfter() {
driver.quit();
}
@Test
public void test1() {
// ページを開く
driver.get("http://www.htmlhifive.com/conts/web/view/Main/WebHome");
// 「ガイド」タブの上にマウスオーバーする
WebElement elGuide = driver.findElement(By.cssSelector(".guide>.tab>span"));
Actions action = new Actions(driver);
action.moveToElement(elGuide).perform();
// バルーンが表示されるまで待機する
final WebElement elBalloon = driver.findElement(By.cssSelector(".guide>.balloon"));
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
return elBalloon.isDisplayed();
}
});
// 表示されたバルーンの「チュートリアル」をクリックする
WebElement elTutorial = driver.findElement(By.className("tutorial"));
if (((RemoteWebDriver) driver).getCapabilities().getBrowserName().toLowerCase().equals("internet explorer")) {
// IEでのテスト時はマウスカーソルがブラウザ上にないとバルーンが表示されない
// IEではsendKeysでEnterしないとチュートリアルのページが表示されない
elTutorial.sendKeys(Keys.ENTER);
} else {
elTutorial.click();
}
// チュートリアルのページが表示されていることを確認する
wait = new WebDriverWait(driver, 10);
WebElement elTitle = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("document-title")));
assertEquals("チュートリアルページが表示されていること。", elTitle.getText(), "チュートリアル");
}
@Test
public void fllowRecordingTest() throws Exception {
driver.get("http://localhost:8080/masso/test.do");
driver.findElement(By.linkText("?Local仮シングルサインオン")).click();
driver.findElement(By.name("user_name")).clear();
driver.findElement(By.name("user_name")).sendKeys("410010154");
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("password")).sendKeys("410010154");
driver.findElement(By.id("ui-id-7")).click();
new Select(driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)=‘株るい管理‘])[1]/following::select[1]"))).selectByVisibleText("TEST");
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)=‘株るい管理‘])[1]/following::option[25]")).click();
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)=‘multiget‘])[1]/following::input[11]")).click();
driver.findElement(By.name("Param6")).click();
driver.findElement(By.name("Param6")).clear();
driver.findElement(By.name("Param6")).sendKeys("123");
driver.findElement(By.id("path")).click();
new Select(driver.findElement(By.id("path"))).selectByVisibleText("保有一覧画面");
driver.findElement(By.id("path")).click();
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)=‘選択画面:‘])[1]/following::input[1]")).click();
}
@Test
public void pageObjectTest() throws Exception {
driver.manage().window().maximize();
driver.get("http://localhost:8080/masso/test.do");
// テストトップメニューページオブジェクト
TestMenuTopPage testMenuTopPage = PageFactory.initElements(driver, TestMenuTopPage.class);
testMenuTopPage.getTmpSignOnLink().click();
// テストメニュー
TestMenuPageBase testMenuPageBase = PageFactory.initElements(driver, TestMenuPageBase.class);
// 接続端末プールダウンリスト
WebElement pullDownList = testMenuPageBase.getAccessType();
Select select = new Select(pullDownList);
select.selectByVisibleText("スマホ(株アプリ)");
// ユーザーネーム
testMenuPageBase.getUserName().sendKeys("410010154");
// パスワード
testMenuPageBase.getPassword().sendKeys("410010154");
// テストメニュー:株るい管理
TestMenuPageKaburui testMenuPageKaburui = PageFactory.initElements(driver, TestMenuPageKaburui.class);
testMenuPageKaburui.getProductList().getText();
System.out.println(testMenuPageKaburui.getProductList().getText());
}
}
原文地址:https://www.cnblogs.com/guojia314/p/9916395.html