gatling

自分でソース作成

ブラウザ記憶してソース

プロダクト

Selenium

Xpath

CSSSelector

JSoupでもほぼ等価なのでこちらを推奨

td#MAINAREA01 > div.tp-box-05 > div > div > p.tp-text-01階層順序を厳格に指定する場合
div[class*='_middle_']クラス名部分一致
div[class^='prefix']クラス名前方一致
div[class$='_suffix']クラス名後方一致
By.cssSelector("a[href^='/usage/detail']")Aタグ中身前方一致

カスタマイズ属性で絞る

div[data-custom='xxxx']通常の属性ならhrefなりに変えれば良い

一つに絞れない時はループで回して強引に

       List<WebElement> webElementList =driver.findElements(By.cssSelector("div[class^='prefix_']"));
       WebElement login = webElementList.stream().filter(webElement -> webElement.getText().contains("ログイン")).findFirst().get();
       login.click();

リンクのテキストで取得

By.linkText("hogehoge")

JSoup

クラスで複数取得Elements masthead = doc.select("div.masthead");
クラスで単数取得Element masthead = doc.select("div.masthead").first();
階層構造で複数取得Elements resultLinks = doc.select("h3.r > a"); // direct a after h3
ファイルから読み込みDocument doc = Jsoup.parse(new File("/tmp/input.html"), "UTF-8", "http://example.com/");

HTMLUnit

HtmlElement input = page.getHtmlElementById(id);
input.setAttribute("value", value);
webClient.getPage("file:///Users/

XPath

//a[@id='idname']AタグのIDで抽出
//a[@href='/login.html']Aタグのリンク先で抽出
//input[@type='submit']type=submitのタグを取得
//input[@value='検索']検索のinputタグを取得
//td[contains(.,'検索したい文字列')]検索したい文字列が含まれているものを取得
img[alt='ログアウト']altで検索
//a[text()='ログアウト']"Aのテキストで検索
final HtmlDivision div = (HtmlDivision) page.getByXPath("//div[@name='John']").get(0);無理やりキャスト

xpathの検証

chromeのコンソールで $x('xpath')でOK!

css selectorの検証

chromeのコンソールで $('div div div p')

htmlunit

主にPHPバッチで利用

クラスやID指定div[class=tbl-pc]
親子関係table tbody tr td

Selenium(java ラッパーで Selenide がある)

概要

Macでwebdriver

  1. sudo pip3 install selenium
  2. /usr/local/binに対象のwebdriverを配置

成功バージョン

brew update
brew install chromedriver
brew update
brew install geckodriver
brew tap homebrew/cask && brew cask install chromedriver
/usr/local/binに入るので手動で入れるならそこに置く

C:\Users\xxx\AppData\Local\Microsoft\WindowsApps

失敗バージョン

brew update
brew install selenium-server-standalone
brew install chromedriver

だとだめ!jarを直接実行する。

java -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.drir=/usr/local/bin/chromedriver -jar selenium-server-standalone-3.4.0.jar

しかし上記のchromedriverさえインストールできればあとはサーバー不要なのであった!

JMeter

Geb(groovy)


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-10-14 (金) 13:16:52