はじめに
2015年06月05日に行われた第3回かわいいKotlin勉強会で運営&発表してきました。
会場はドリコムさん!(いつもありがとうございます)
その時に話せなかったこぼれ話や補足をしようかなと思います。
ということで、Java SE のパッケージを眺めるのが良いかと思い、
それぞれ見ていくことにします。
// 識別用のコード private final static int CHOSE_FILE_CODE = "12345"; @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("file/*"); startActivityForResult(intent, CHOSE_FILE_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { try { if (requestCode == CHOSE_FILE_CODE && resultCode == RESULT_OK) { String filePath = data.getDataString().replace("file://", ""); String decodedfilePath = URLDecoder.decode(filePath, "utf-8"); imageText.setText(decodedfilePath); } } catch (UnsupportedEncodingException e) { // いい感じに例外処理 } }
File file = new File(decodeFilePath); FileInputStream fis = new FileInputStream(file);
・Kotlinをインストールする
・KotlinプラグインをIntelliJ IDEAに導入する
・KotlinプラグインをAndroid Studioに入れる
・AndroidでHello World
・KotlinをEclipseで動かす(非推奨)
・変数を宣言する
・型を宣言する
・インスタンスを生成する
・配列を生成する
・関数を宣言する
・条件分岐を行う
・ifを式として扱う
・switchみたいな条件分岐がしたい
・ループ処理を行う
WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.alertIsPresent()); // 処理 doSomething(); ・・・・
#IE driver.ie.exe=C:\\IEDriverServer.exe driver.ie.key=webdriver.ie.driver driver.ie.driverclass=org.openqa.selenium.ie.InternetExplorerDriver #Chrome driver.chrome.exe=C:\\chromedriver.exe driver.chrome.key=webdriver.chrome.driver driver.chrome.driverclass=org.openqa.selenium.chrome.ChromeDriver #Firefox driver.ff.driverclass=org.openqa.selenium.firefox.FirefoxDriver
public class BrowserRule implements MethodRule { private final String[] paths; public BrowserRule(String... paths) { this.paths = paths; } public Statement apply(final Statement base, FrameworkMethod method, Object target) { return new Statement() { @Override public void evaluate() throws Throwable { for (String path : paths) { ModeContext.setBrowserName(path); base.evaluate(); } } }; } }
public class ModeContext { private static String browserName; private ModeContext () {} public static void setBrowserName(String name) { browserName = name; } public static String getBrowserName() { return browserName; } }
public class HogeHogeTest { @Rule public BrowserRule browserRule = new BrowserRule("ie"); // ie //public BrowserRule browserRule = new BrowserRule("chrome"); chrome //public BrowserRule browserRule = new BrowserRule("ff"); firefox //public BrowserRule browserRule = new BrowserRule("ie","chrome","ff"); これもできる public WebDriver driver; @Before public void startUpClass() throws Exception { Properties prop = loadProperties(); final String browser = ModeContext.getBrowserName(); final String[] PROP_KEYS = new String[] { "driver." + browser + ".exe", "driver." + browser + ".key", "driver." + browser + ".driverclass"}; if(!browser.equals("ff")) { Path path = Paths.get(prop.getProperty(PROP_KEYS[0])); System.setProperty(prop.getProperty(PROP_KEYS[1]), path.toAbsolutePath().toString()); } Class<?> clazz = Class.forName(prop.getProperty(PROP_KEYS[2])); driver = (WebDriver) clazz.newInstance(); driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(3, TimeUnit.MINUTES); driver.get("http://localhost:8080/hogehoge"); } private Properties loadProperties() { try { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Properties prop = new Properties(); prop.load(loader.getResourceAsStream("DriverSetting.properties")); return prop; } catch (IOException e) { throw new IllegalStateException("failed load DriverSetting.properties ", e); } } }