2012年5月24日木曜日

javacコマンドで文字コード指定


D:\lab\Java> javac -encoding UTF-8 Test.java


:16: エラー: この文字は、エンコーディングMS932にマップできません
               // TODO 閾ェ蜍慕函謌舌&繧後◆ catch 繝悶Ο繝?け

2012年5月22日火曜日

カッコで囲まれている文字の取得

String regex = "\\((.+?)\\)";//正規表現で指定
String target = "(abc)def(ghi)jkl";
List<String> omaewamoshindeiru = new ArrayList<String>();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(target);
while (matcher.find()) {
    omaewamoshindeiru.add(matcher.group(1));
}
System.out.println( omaewamoshindeiru.get(0) );//abc

2012年5月17日木曜日

WebDriver:特定のリンクアドレスを取得する

gooで始まるリンクアドレスを取得する。

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class firefoxTest {

 public static void main(String[] args) {

  WebDriver driver = new HtmlUnitDriver();

  // URLを開く
  driver.get("http://127.0.0.1/~yamato/fx7/WebDriverTest/index.html");

  // 検索結果のURLを取得
  WebElement link = driver.findElement(By.partialLinkText("goo"));
  System.out.println(link.getAttribute("href"));
 }
}


検索結果:
https://www.google.co.jp/

WebDriver:ページのリンクを取得する

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class firefoxTest {

 public static void main(String[] args) {

  WebDriver driver = new HtmlUnitDriver();

  // URLを開く
  driver.get("http://127.0.0.1/~yamato/fx7/WebDriverTest/index.html");

  // Aタグを取得
  List<WebElement> cheese = driver.findElements(By.tagName("a"));

  // 取得した要素の0番目のリンクアドレス
  System.out.println(cheese.get(0).getAttribute("href"));
  
  // 取得した要素の0番目のリンクテキスト
  System.out.println(cheese.get(0).getText());
 }
}

WebDriver:IDを指定してテキストを取得する

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class firefoxTest {

 public static void main(String[] args) {

  // ブラウザ(Firefox)を起動
  // WebDriver driver = new FirefoxDriver();
  WebDriver driver = new HtmlUnitDriver();

  // URLを開く
  driver.get("http://127.0.0.1/~yamato/fx7/WebDriverTest/index.html");

  WebElement addDynamicElement = driver.findElement(By.id("add"));

  String actual = addDynamicElement.getText();
  
  System.out.println( actual );

 }
}

WebDriver:ページのタイトル取得

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class firefoxTest {

 public static void main(String[] args) {

  // ブラウザ(Firefox)を起動
  // WebDriver driver = new FirefoxDriver();
  WebDriver driver = new HtmlUnitDriver();

  // URLを開く
  driver.get("http://127.0.0.1/~yamato/fx7/WebDriverTest/index.html");

  System.out.println(driver.getTitle());

 }
}

WebDriver 準備

selenium-java-2.21.0.zip をダウンロードする。

解凍する。
selenium-java-2.21.0.jar と
libs フォルダのの中のファイルをプロジェクトのjavaビルドパスに追加する。

参考
その他のhtmlテストツール
HtmlUnit
HttpUnit::Httpプロトコルのテストを重視した作り