https://d-cube.connpass.com/event/149831/ スライドä¸ã€Œã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã®æ–Žè—¤ã€ã¨ã„ã†è¬Žã®äººç‰©ãŒå‡ºã¦ãã¾ã™ãŒã€ã€Œã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã®æŽ¡ç”¨ã€ã®èª¤è¨˜ã§ã”ã–ã„ã¾ã—ãŸã€‚ãŠè©«ã³ç”³ã—上ã’ã¾ã™ã€‚

https://d-cube.connpass.com/event/149831/ スライドä¸ã€Œã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã®æ–Žè—¤ã€ã¨ã„ã†è¬Žã®äººç‰©ãŒå‡ºã¦ãã¾ã™ãŒã€ã€Œã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã®æŽ¡ç”¨ã€ã®èª¤è¨˜ã§ã”ã–ã„ã¾ã—ãŸã€‚ãŠè©«ã³ç”³ã—上ã’ã¾ã™ã€‚
Python3ã¨Seleniumã¨Google Chromeã§Webページã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã¯Selenium-ScreenshotãŒä¾¿åˆ©ã§ã™PythonChromeSeleniumPython3 Python 3ã¨Seleniumã¨Google Chromeã§Webページã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’å–å¾—ã™ã‚‹æ–¹æ³•ã®ï¼‘ã¤ã¨ã—ã¦ã€Selenium標準㮠save_screenshot メソッドを使ã†æ–¹æ³•ãŒã‚ã‚Šã¾ã™ãŒã€ã“ã®æ–¹æ³•ã®å ´åˆã€æŒ‡å®šã•ã‚ŒãŸã‚µã‚¤ã‚ºï¼ˆã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚ºï¼‰ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã™ãŒã€Webページ全体ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 Googleã§æ¤œç´¢ã—ã¦ã¿ã‚‹ã¨ã€è‰²ã€…ãªæ–¹æ³•ãŒãƒ’ットã—ã¾ã™ãŒã€æœ€ã‚‚ç°¡å˜ã§ã€ã‹ã¤å†åˆ©ç”¨æ€§ã®é«˜ã„方法ã¯ã€Selenium-Screenshotパッケージを使ã†æ–¹æ³•ã§ã™ã€‚Selenium-Screenshotパッケージを使用ã™ã‚‹ã¨ã€
ã¯ã˜ã‚ã« Python + Selenium + Chrome ã§ã€è¦ç´ ã®å–å¾—ã€ã‚¯ãƒªãƒƒã‚¯ãªã©ã® UIç³»ã®æ“作ã€å¾…æ©Ÿã€ãƒšãƒ¼ã‚¸å…¨ä½“ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆãªã©ã€ä¸€é€šã‚Šè©¦ã—ã¦ã¿ã¾ã™ã€‚ PhantomJS ã¯ã‚‚ã†æ›´æ–°ã•ã‚Œãªã„ã¨ã„ã†ã“ã¨ãªã®ã§ã€ãƒ–ラウザ㯠Chrome ã«ã—ã¾ã™ã€‚ ã“ã®è¨˜äº‹ã«ã¯ã€Selenium ã® API ã«é–¢ã™ã‚‹æƒ…å ±ã¨ Chrome ã«ç‰¹åŒ–ã—ãŸæƒ…å ±ãŒã‚ã‚Šã¾ã™ãŒã€å‰è€…ã® Selenium ã®ä½¿ã„æ–¹ã«é–¢ã™ã‚‹æƒ…å ±ã¯ Firefox ãªã©åˆ¥ã®ãƒ–ラウザã§ã‚‚使ãˆã¾ã™ã€‚ 注æ„äº‹é … ウェブã®è‡ªå‹•ãƒ†ã‚¹ãƒˆã‚„スクレイピングã§ä½¿ã‚れる技術ã§ã™ã€‚特ã«ã‚¹ã‚¯ãƒ¬ã‚¤ãƒ”ングã§ã¯ã€è‘—作権ã®å•é¡Œã‚„ã€ã‚µãƒ¼ãƒãƒ¼å´ã®è² è·ã€å„種è¦ç´„(会員ã¨ã—ã¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å ´åˆã®ä¼šå“¡è¦ç´„ç‰ï¼‰ã‚„マナーãªã©ã‚’考慮ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ ãŸã¨ãˆã°ã€Twitter ãªã©åˆ©ç”¨è¦ç´„ã§æ˜Žç¤ºçš„ã«ã‚¹ã‚¯ãƒ¬ã‚¤ãƒ”ングãŒç¦æ¢ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚„ã€robot.txt ãªã©ã§ã‚¯ãƒãƒ¼ãƒª
スクレイピングã—㟠Web サイトã‹ã‚‰ãƒšãƒ¼ã‚¸å…¨ä½“ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’撮影ã—ãŸã„機会ãŒã‚ã£ãŸã€‚ ãã“㧠Selenium ã® Python ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã¨ Headless Chrome を使ã£ãŸã¨ã“ã‚実ç¾ã§ããŸã®ã§ãƒ¡ãƒ¢ã—ã¦ãŠã。 ã¡ãªã¿ã«ã€ãƒšãƒ¼ã‚¸å…¨ä½“ã§ãªã‘れ㰠Headless Chrome å˜ä½“ã§ã‚‚撮れる。 ãã®æ–¹æ³•ã«ã¤ã„ã¦ã‚‚末尾ã«è£œè¶³ã¨ã—ã¦è¨˜è¼‰ã—ã¦ãŠã„ãŸã€‚ 使ã£ãŸç’°å¢ƒã¯æ¬¡ã®é€šã‚Šã€‚ $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ python -V Python 3.6.5 $ pip list --format=columns | grep -i selenium selenium 3.13.0 $ chromedriver --version ChromeDriver 2.
Web技術ã®æ¨™æº–ã‚’ç–定ã™ã‚‹World Wide Web Consortium(W3C)ã®Browser Testing and Toolsワーã‚ンググループã¯ã€ã€ŒWebDriverã€ãŒ6月5日付ã‘ã§å‹§å‘Šã«åˆ°é”ã—ãŸã“ã¨ã‚’発表ã—ã¾ã—ãŸã€‚ WebDriverã¯ã€Webブラウザを外部ã‹ã‚‰æ“作ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã€Webアプリケーションã®ãƒ†ã‚¹ãƒˆãªã©ã®è‡ªå‹•åŒ–を実ç¾ã™ã‚‹æŠ€è¡“ã§ã™ã€‚ 主è¦ãªWebブラウザã«ã¯ã™ã§ã«ã“ã®WebDriverã®æ©Ÿèƒ½ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚Seleniumã«ä»£è¡¨ã•ã‚Œã‚‹Webブラウザ自動化ライブラリを利用ã™ã‚‹ã“ã¨ã§ã€WebDriverを用ã„ã¦Webアプリケーションã®UIテストãªã©ã‚’自動化ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ Seleniumã‹ã‚‰W3C㸠もã¨ã‚‚ã¨Webブラウザã«ã¯å¤–部ã‹ã‚‰æ“作を行ã†APIãªã©ã¯ãªãã€WebページやWebアプリケーションをWebブラウザã§è¡¨ç¤ºã—ãŸéš›ã«ç”»é¢ãŒæ£å¸¸ã«è¡¨ç¤ºã•ã‚Œã¦ã„ã‚‹
Seleniumã®è¨˜éŒ²ãƒ»å†ç”Ÿãƒ„ールã¨ã„ãˆã°Selenium IDEã‚„Selenium BuilderãŒæœ‰åã§ã™ãŒã€ã“れらã®ãƒ„ールã¯Firefox55以é™å‹•ä½œã—ãªããªã£ã¦ã„ã¾ã—ãŸâ€»1。ãã“ã§Seleniumプãƒã‚¸ã‚§ã‚¯ãƒˆãƒãƒ¼ãƒ ã«ã‚ˆã£ã¦æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®é–‹ç™ºãŒé€²ã‚られã€å…ˆæ—¥ã¤ã„ã«ã€Chromeã§å‹•ä½œã™ã‚‹æ–°ã—ã„Selenium IDEã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³1.0ãŒãƒªãƒªãƒ¼ã‚¹ã•ã‚Œã¾ã—ãŸã€‚ 今日ã¯ã€ã“ã®æ–°ã—ã„Selenium IDEã‚’ã¯ã˜ã‚ã¨ã™ã‚‹ã€ç„¡æ–™ã§ä½¿ãˆã‚‹æ§˜ã€…ãªSeleniumスクリプトã®è¨˜éŒ²ãƒ„ールã«ã¤ã„ã¦ã”紹介ã—ã¾ã™ã€‚ ãªãŠã“ã®è¨˜äº‹ã§ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒžãƒ¼å‘ã‘ã«ã€ã€Œãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã«ã‚ˆã‚‹ã‚¹ã‚¯ãƒªãƒ—ト作æˆã®è£œåŠ©ãƒ„ールã€ã¨ã„ã†è¦³ç‚¹ã‹ã‚‰å„種ツールを比較ã—ã¾ã™ã€‚プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã§ã‚¹ã‚¯ãƒªãƒ—トを書ãå ´åˆã‚‚ã€ã‚¹ã‚¯ãƒªãƒ—ト記録ツールã¯ä¸‹è¨˜ã®ã‚ˆã†ãªç”¨é€”ã«æ´»ç”¨ã§ãã€éžå¸¸ã«ä¾¿åˆ©ã§ã™ã€‚ ブラウザ上ã®è¦ç´ ã®ãƒã‚±ãƒ¼ã‚¿â€»2 ã‚’ç°¡å˜ã«å–å¾—ã™ã‚‹ テス
ã¾ãˆãŒã E2Eテストを自動化ã—ãŸã„ã“ã¨ã€ã‚ã‚‹ã¨æ€ã„ã¾ã™ã€‚ 特ã«ã‚¢ã‚¸ãƒ£ã‚¤ãƒ«é–‹ç™ºã‚’è¡Œãªã£ã¦ã„ãéš›ã«ã¯ã€äºˆæœŸã›ã¬regressionを防ããŸã‚ã«ã‚‚å¿…é ˆã®ãƒ„ールã§ã—ょã†ã€‚ 毎回ãƒãƒãƒãƒãƒãƒãƒãƒç”»é¢ãƒ†ã‚¹ãƒˆã™ã‚‹ã®ã¯å·¥æ•°çš„ã«ã‚‚モãƒãƒ™ãƒ¼ã‚·ãƒ§ãƒ³çš„ã«ã‚‚最低ã§ã™ã€‚ ãã†è€ƒãˆã€ç§ã¯Seleniumã«ã‚ˆã‚‹è‡ªå‹•ãƒ†ã‚¹ãƒˆã‚’1ヶ月ã‹ã‘ã¦è¨è¨ˆãƒ»å®Ÿè£…ã—ã¾ã—ãŸã€‚ ãã—ã¦æœ€åˆã¯ã€Œã¬ã‚‹ã¬ã‚‹è‡ªå‹•æ“作ã•ã‚Œã¦ã¦æ„Ÿå‹•ã—ãŸðŸ˜†ã€ã€Œã“ã‚Œã§å·¥æ•°ã‚ã£ã¡ã‚ƒå‰Šæ¸›ã•ã‚Œã‚‹ãªðŸ‘〠ãã‚“ãªå£°ã‚’ãƒãƒ¼ãƒ メイトã‹ã‚‰ã‚‚らãˆã€ã€Œã„ã„もん作ã£ãŸãªã€œä¿ºã€ã¨ã‹å†…心ドヤ顔ã§ã—ãŸã€‚ ãŸã 数ヶ月もã—ãªã„内ã«ãƒ†ã‚¹ãƒˆã¯å½¹ç«‹ãŸãšã«ãªã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚ ã“ã®è¨˜äº‹ã¯ãªãœè‡ªå‹•ãƒ†ã‚¹ãƒˆãŒç„¡ä¾¡å€¤ã«ãªã£ã¦ã—ã¾ã£ãŸã®ã‹ã‚’書ãã¾ã™ã€‚ 割ã¨Seleniumã‚ã‚‹ã‚ã‚‹ãªè©±ã§ã‚‚ã‚ã‚‹ã®ã§ã€ã“ã‚Œã‹ã‚‰Selenium使ãŠã†ã¨ã„ã†æ–¹ã®å‚考ã«ãªã‚Œã°å¹¸ã„ã§ã™ã€‚ ※ã¡ãªã¿ã«ç§ã¯JS(+ WebdriverIOã¨ã„ã†ãƒ©ã‚¤ãƒ–ラ
#no such element: Unable to locate elementã¨ã‹Element is not clickable at pointã¨ã‹ã‚’回é¿ã™ã‚‹ãŸã‚ã®wait ruby + selenium webdriverを使ã£ã¦ã„ã‚Œã°èª°ã‚‚ãŒè¦‹ãŸã“ã¨ã‚ã‚‹ã“れらã®ã‚¨ãƒ©ãƒ¼ã€‚ 動作ãŒé€Ÿã™ãŽã¦è¦ç´ ãŒç¾ã‚Œã‚‹å‰ã«å‡¦ç†ãŒå®Ÿè¡Œã•ã‚Œã¦ã—ã¾ã„ã“ã®ã‚¨ãƒ©ãƒ¼ãŒå‡ºã¡ã‚ƒã†ã“ã¨ãŒå¤šã„ã§ã™ã‚ˆã。 秒数を指定ã—ã¦å‹•ä½œã‚’å¾…ã¤sleep ã“ã®ã‚ˆã†ã«æ›¸ã‘ã°10秒待ã£ã¦ã‹ã‚‰æ¬¡ã®å‡¦ç†ã‚’è¡Œã†ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã§ã™ã€‚ ã§ã‚‚本当ã«10秒待ã¦ã°æ¬¡ã®è¦ç´ ã¯å¿…ãšç¾ã‚Œã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„実行ã™ã‚‹ç’°å¢ƒã«ã‚ˆã£ã¦ã¯1秒ã§ç¾ã‚Œã¦ãれるã‹ã‚‚ã—ã‚Œãªã„ã—ã€12秒待ã£ã¦ã‚‚ç¾ã‚Œã¦ãã‚Œãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 å‰è€…ã®å ´åˆã¯1秒ã§ç¾ã‚Œã¦ãれるã®ã ã‹ã‚‰9秒無駄ã«ãªã£ã¦ã—ã¾ã„ã€sleepを書ã度ã«ãã®ç„¡é§„ãªæ™‚é–“ãŒç©ã¿é‡ãªã£ã¦ã„ãã¾ã™ã€‚ 後者ã®å ´åˆã¯ã‚‚ã¡ã‚んエ
idã‚„classãŒè¨å®šã•ã‚Œã¦ã„ãªã„ページã§å¤šæ§˜ã™ã‚‹xpath selenium webdriverã®ã‚³ãƒ¼ãƒ‰ã‚’実装ã—ã¦ã„ã時ã«ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’見ã¦idã‚„classãŒæŒ¯ã‚‰ã‚Œã¦ã„ã‚Œã°è‰¯ã„ã®ã§ã™ãŒã€ ãã‚“ãªã«ã“ã¡ã‚‰ã®éƒ½åˆã«åˆã‚ã›ã¦ä½œã£ã¦ãã‚Œã¦ã„ãªã„WEBページã¯ã‚ˆãã‚ã‚Šã¾ã™ã€‚ ãã‚“ãªæ™‚ã«ã©ã†ã—ã¦ã‚‚使ã‚ãªã‘ã‚Œã°ãªã‚‰ãªã„ã®ãŒxpathã§ã™ã€‚ 今回ã¯ãã‚“ãªxpathã§å®Ÿè£…ã™ã‚‹éš›ã®tipsã‚’ã„ãã¤ã‹ã”紹介ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚ classã«ã‚¹ãƒšãƒ¼ã‚¹ãŒå«ã¾ã‚Œã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚‹å ´åˆ classãŒè¤‡æ•°æŒ¯ã‚‰ã‚Œã¦ã„ã‚‹å ´åˆã€ã‚½ãƒ¼ã‚¹ä¸Šã¯class毎ã«ã‚¹ãƒšãƒ¼ã‚¹åŒºåˆ‡ã‚Šã§æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚
ã“ã‚“ã«ã¡ã¯ï¼ ã“ã®æœŸã«ãŠã‚ˆã‚“ã§ã¾ã Selenium IDEã®æŠ€è¡“記事を書ãクソãƒã‚«ã¯èª°ã ï¼ï¼ï¼ 俺ã よï¼ï¼ï¼ï¼ æ€ã£ãŸã‚ˆã‚Šæ—©ãæ»ã«ã¾ã—ãŸãƒ†ãƒ˜ãƒƒ WebExtensionsã¸ã®å®Œå…¨ç§»è¡Œã¯Firefox 57ã‹ã‚‰ã ã¨Mozillaå…¬å¼ãƒ–ãƒã‚°ã«æ›¸ã„ã¦ã‚ã£ãŸã®ã§ã€ã‚‚ã†ã¡ã‚‡ã£ã¨ã„ã‘ã‚‹ã¨æ€ã£ã¦ã„ãŸã®ã§ã™ãŒ... Add-ons in 2017 | Mozilla Add-ons Blog 先日リリースã•ã‚Œã¾ã—ãŸFirefox 55ã§Selenium IDEã‚’èµ·å‹•ã—ã¦ã¿ãŸã¨ã“ã‚〠ウッ å‹•ã‘ã€å‹•ã‘ã€å‹•ã„ã¦ã‚ˆï¼ï¼ 「Table view is not available with this format.ã€ã£ã¦ãªã‚“ãªã‚“ã よï¼ï¼ï¼ï¼ å˜ãªã‚‹ãƒ‡ã‚°ãƒ¬ã£ã½ã„ åŒã˜ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯2013å¹´ã‹ã‚‰æŠ˜ã€…å ±å‘Šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã€GitHubã«ã‚‚2015å¹´é ƒã‹ã‚‰ã®issueãŒã‚ã‚Šã¾ã™ã€‚ ãªã®ã§ã€WebExtensionsã¸
2017/7/1ã«è¡Œã‚ã‚ŒãŸã€Selenium Committer Day 2017 – connpassã«è¡Œã£ã¦ãã¾ã—ãŸã€‚ 今回ã¯Seleniumコミッターã®æ–¹ã€…ã®è¬›æ¼”ã‚‚ã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã€å…ˆç€200åã®ã‚ャパã«å¯¾ã—ã¦250åãらã„応募ãŒã‚ã£ã¦ã€çµå±€ä»•äº‹ã®éƒ½åˆã¨ã‹è¡—ãŒå¤šã™ãŽã¨ã‹ã§ã‚ャンセルãŒå‡ºã¦ã€ã‚¤ãƒ™ãƒ³ãƒˆãƒšãƒ¼ã‚¸ä¸Šã¯191åã®å‚åŠ ã§ã—ãŸã€‚ 以下ã€ã‚²ã‚¹ãƒˆã‚¹ãƒ”ーカーã•ã‚“ã®å„セッションã¨Q&Aã®å†…容ã«ã¤ã„ã¦ãƒ¡ãƒ¢æ›¸ã&雑感ã§ã™ã€‚ ãªãŠã€è¦‹å‡ºã—ã¯ã‚¤ãƒ™ãƒ³ãƒˆãƒšãƒ¼ã‚¸ã‹ã‚‰ã®ã‚³ãƒ”ペã§ã™ã€‚敬称略ã€å®Ÿéš›ã®è¬›æ¼”時刻ã¨ç•°ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã®ã§ã”了承ãã ã•ã„。 ※æ„図的ã«ãƒŸã‚¹ãƒªãƒ¼ãƒ‰ã—ã¦ã‚‹ç®‡æ‰€ã¯ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€èª¤ã‚ŠãŒã‚ã£ãŸã‚‰æŒ‡æ‘˜ã„ãŸã ã‘ã‚‹ã¨æœ¬å½“ã«å¬‰ã—ã„ã§ã™ã€‚ Nozomi Ito 開会ã®æŒ¨æ‹¶ 13:00-13:10 今日ã§ãŸã¾ãŸã¾ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ï¼”周年。 Slackã®ãƒãƒ£ãƒƒãƒˆãƒ«ãƒ¼ãƒ ã¯äººãŒå¢—ãˆã¦ã„ã¦ã€è³ªå•ã‚„回ç”ãŒæ´»ç™ºã«è¡Œã‚ã‚Œã¦ã„ã‚‹
ブラウザæ“作ã®è‡ªå‹•åŒ–: Selenium 㨠Ruby ã§ã‚‚書ã„ãŸãŒã€ selenium ãŒä¾¿åˆ©ã™ãŽã¦ã€æœ€è¿‘よãスクリプトを書ãよã†ã«ãªã£ãŸã€‚ 以下ã®ã‚ˆã†ãªãƒŽã‚¦ãƒã‚¦ãŒæºœã¾ã£ã¦ããŸã®ã§ã€ã“ã“らã§æ”¾å‡ºã™ã‚‹ã€‚ ウィンドウサイズã®ãƒªã‚µã‚¤ã‚º ウィンドウä½ç½®ã®ç§»å‹• スクリーンショットã®å–å¾— è¦ç´ セレクタメソッドã®ä½¿ã„分㑠ドãƒãƒƒãƒ—ダウンリストã®é¸æŠž マウスオーム(hover) フレーム移動 ãƒãƒƒãƒ—アップダイアãƒã‚°ã®æ‰±ã„ コードé‡ã‚’減らã™ãŸã‚ã®ãƒ¢ãƒ³ã‚ーパッムよã採るプãƒã‚°ãƒ©ãƒ æ§‹é€ ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•ãªã©ã¯ ブラウザæ“作ã®è‡ªå‹•åŒ–: Selenium 㨠Ruby ã‚’å‚照。 selenium用スクリプト開発ã®ãƒŽã‚¦ãƒã‚¦ã¨ã„ã†ã¹ãã‹ã‚³ãƒ„ã¨ã„ã†ã„ã¹ãã‹ã‚¢ãƒ¬ãªæ„Ÿã˜ã ãŒã€çµå±€ã€ スクレイピングã¨åŒæ§˜ã«HTMLæ§‹é€ ã‚’ç†è§£ã™ã‚‹ã“ã¨ãŒå¿…è¦ãªã®ã§ãƒ–ラウザ付属ã®é–‹ç™ºãƒ„ール㌠手離ã›ãªã„。 Firefox 開発ツール chro
chrome ã ã‘を使ã£ã¦ã€HTMLã‚’PDFã«å¤‰æ›ã—ã¾ã™ã€‚ chrome 㧠pdf ã«ã‚µã‚¤ãƒˆã‚’ä¿å˜ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚Seleniumã®screenshot を作らãªãã¦ã‚‚ã€å˜ä¸€ãªãƒšãƒ¼ã‚¸ã§ã‚ã‚Œã°ã€PDFã«ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ --print-to-pdfオプション $ alias chrome='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' $ chrome --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.yahoo.co.jp --headless オプションã¨ä½µã›ã¦è¨å®šã™ã‚‹ã¨ã¨ã¦ã‚‚便利ã§ã™ã€‚ $ chrome --headless --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.
システム本部SWETグループã®ã‚°ãƒ«ãƒ¼ãƒ—リーダã®æ²–ç”°( @okitan )ã§ã™ã€‚SWET(スウェットã¨èªã‚€)ã¯E2Eテストã®è‡ªå‹•åŒ–ã‚„CI/CDã®æ•´å‚™ç‰ã‚’通ã˜ã¦DeNAã®äº‹æ¥ã®é–‹ç™ºç”Ÿç”£æ€§ã¨å“質ã®å‘上をミッションã¨ã™ã‚‹ãƒãƒ¼ãƒ ã§ã™ã€‚ SWETãƒãƒ¼ãƒ ã¯ãã®å‰èº«ã¨ãªã‚‹Mobageã®ã‚ªãƒ¼ãƒ—ンプラットフォームã®ãƒ†ã‚¹ãƒˆè‡ªå‹•åŒ–ã¨CIをミッションã¨ã—ã¦ã„ãŸæ™‚代ã‹ã‚‰Seleniumã«ã‚ˆã‚‹End to Endテストã«å–り組んã§ãã¦ã„ã¾ã—ãŸã€‚今回ã€ãã®Seleniumã®å›½éš›ã‚«ãƒ³ãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ã§ã‚ã‚‹Selenium Conf 2017 Austinã«å‚åŠ ã—ã¦ããŸã®ã§ã€Seleniumã‚’å–ã‚Šå·»ã最新ã®å‹•å‘を紹介ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚ Selenium Conf Austin 2017 Selenium Conf 2017 Austinã¯4月3日〜4月5æ—¥ã¾ã§ã®3日間開催ã•ã‚Œã€ç´„500人ã®å‚åŠ è€…ãŒã‚ã£ãŸã‚ˆã†ã§ã™ã€‚åˆæ—¥ã¯ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒ
ã‚‚ã¨ã‚‚㨠Selenium 2.0 ã§å°Žå…¥ã•ã‚ŒãŸ WebDriver ã§ã™ãŒã€å˜ã« 「WebDriver〠ã¨è¨€ã£ã¦ã‚‚ã„ã‚ã„ã‚ãªã‚‚ã®ã‚’指ã™ã“ã¨ãŒã‚ã‚Š *1ã€WebDriver ã‚’åˆã‚ã¦ä½¿ãŠã†ã¨ã™ã‚‹äººã«ã¯ã‚„ã‚„ã“ã—ã„状æ³ã ã¨æ„Ÿã˜ã¦ã„ã¾ã™ã€‚ (ç§ã¯æ•°ã‹æœˆå‰ã« WebDriver を使ãŠã†ã¨ã—ã¦æ··ä¹±ã—ã¾ã—ãŸã€‚) ã¨ã„ã†ã‚ã‘ãªã®ã§ã€ç§ãŒèª¿ã¹ãŸ 「WebDriver ã¨ã¯ä½•ã‹ã€ ã‚’ç°¡å˜ã«ã¾ã¨ã‚ã¦ãŠãã¾ã™ã€‚ WebDriver ã¨ã¯ä½•ã‹ WebDriver ã¨ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆ (web ブラウザ) を外部ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‹ã‚‰æ“作ã—ãŸã‚Šæƒ…å ±ã‚’å–å¾—ã—ãŸã‚Šã§ãるよã†ã«ã™ã‚‹ãŸã‚ã®ã‚‚ã®ã§ã™ã€‚ テストã®è‡ªå‹•å®Ÿè¡Œãªã©ã«ä¾¿åˆ©ã§ã™ã。 W3C WebDriver 㨠Selenium WebDriver 冒é ã§è¿°ã¹ãŸé€šã‚Šã€Selenium 2.0 ã®ç›®çŽ‰æ©Ÿèƒ½ã¨ã—ã¦å°Žå…¥ã•ã‚ŒãŸ WebDriver ãªã®ã§ã™ãŒã€ç¾åœ¨ã¯
Seleniumを使ã£ãŸWeb UIã®è‡ªå‹•ãƒ†ã‚¹ãƒˆã‚·ã‚¹ãƒ†ãƒ を作ã£ãŸã®ã§ã€ã‚„ã£ãŸã“ã¨ãƒ»æ„Ÿæƒ³ãªã©ã‚’ã¾ã¨ã‚ã¦ã¿ã¾ã™ã€‚ テスト対象 テスト対象ã¯ã€AJAXãªWebアプリã§ã™ã€‚ サーãƒãƒ¼ã¯REST APIã‚’æä¾›ã™ã‚‹ã®ã¿ã§ã€UIã¯å…¨ã¦JavaScriptã¨ã„ã†æ§‹æˆã€‚ サãƒãƒ¼ãƒˆãƒ–ラウザã¯IE7以é™,Firefox3.6以é™ã€‚(特定ã®çµ„織内ã§ä½¿ã†ã‚‚ã®ãªã®ã§ã€Operaãªã©ã¯æœªã‚µãƒãƒ¼ãƒˆã§ã™ã€‚) 使用ã—ãŸSelenium 2.x 系列を使ã„ã¾ã—ãŸã€‚ WebDriverã¨çµ±åˆã•ã‚ŒãŸã‚ã¨ã®ã‚„ã¤ã§ã™ã€‚ 言語ã¯Javaを使用。 テストã®ç›®çš„ 以下を目的ã¨ã—ã¾ã—ãŸã€‚ æ©Ÿèƒ½è¿½åŠ /ä¸å…·åˆæ”¹ä¿®ã§ã®ãƒ‡ã‚°ãƒ¬ãƒ¼ãƒ‰é˜²æ¢ æ©Ÿèƒ½è¿½åŠ ã‚„ä¸å…·åˆæ”¹ä¿®ã«ä¼´ã†å‹•ä½œä¸æ£ã‚’検出ã—ã€ãƒ‡ã‚°ãƒ¬ãƒ¼ãƒ‰ã‚’未然ã«é˜²æ¢ã™ã‚‹ã€‚ 動作確èªã‚³ã‚¹ãƒˆã®å‰Šæ¸›ã«ã‚ˆã‚‹é–‹ç™ºåŠ¹çŽ‡ã®å‘上 ブラウザã”ã¨ã®å‹•ä½œç¢ºèªã‚’自動テストを利用ã—ã¦è¡Œã†ã“ã¨ã§ã€æ©Ÿèƒ½å®Ÿè£…時ã®ç¢ºèªå·¥æ•°ã‚’減らã™ã€‚ リリースå‰ã®ãƒª
Selenium2 WebDriverを使ã£ã¦RSpecå½¢å¼ã§å—ã‘入れテストを自動化ã™ã‚‹æ–¹æ³•ã‚’模索ä¸ã§ã™ã€‚ ã“ã‚Œã¾ã§èª¿ã¹ãŸã“㨠環境構築編:Windows7+Selenium2 WebDriver+Rspecã§ãƒ–ラウザテストを自動化 TIPS編:Ruby+Selenium2 WebDriverã§ã‚¯ãƒã‚¹ãƒ–ラウザãƒã‚§ãƒƒã‚¯ã™ã‚‹ 基本的ãªæ¤œè¨¼æ–¹æ³• 今回ã¯ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹å†…ã§å€¤ã‚’ã©ã†æ¤œè¨¼ã™ã‚‹ã‹ã‚’調ã¹ã¦ã¿ã¾ã—ãŸã€‚JUnitã¨ã‹ã ã¨assertTrueã¿ãŸã„ãªãƒ¡ã‚½ãƒƒãƒ‰ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ãŒã€ç”»é¢ã®å ´åˆã¯ HTML内ã®å€¤ã‚’見ã¤ã‘ã ã— ãã®å€¤ã‚’検証ã™ã‚‹ ã¨ã„ã†ã‚¹ãƒ†ãƒƒãƒ—ã‚’è¸ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚値を見ã¤ã‘出ã™ã¨ã“ã‚㯠https://gist.github.com/daipresents/b211d3a3cf47908e87f0766f846bd73d.js?file=gistfile1.txt ã®ã‚ˆã†ã«ã™ã‚Œã°è¦‹ã¤ã‹ã‚Š
リリースã€éšœå®³æƒ…å ±ãªã©ã®ã‚µãƒ¼ãƒ“スã®ãŠçŸ¥ã‚‰ã›
最新ã®äººæ°—エントリーã®é…ä¿¡
処ç†ã‚’実行ä¸ã§ã™
j次ã®ãƒ–ックマーク
kå‰ã®ãƒ–ックマーク
lã‚ã¨ã§èªã‚€
eコメント一覧を開ã
oページを開ã
{{#tags}}- {{label}}
{{/tags}}